In my gem I have Rails generator to build migration. That migration is very simple:
class MigrateGenerator < Rails::Generators::Base
source_root File.expand_path(File.join(File.dirname(__FILE__), '../generators/templates'))
def create_migration
template "migration_template.rb", "db/migrate/create_orders_table.rb"
end
end
class CreateOrdersTable < ActiveRecord::Migration
def self.up
create_table(:my_default_name) do |t|
#some columns
end
#indexes
end
end
class Order < ActiveRecord::Base
self.primary_key = :id
self.table_name = 'my_default_name'
end
My question: Is there any possibility to allow user define own table name? I know that I can easily pass parameter to my generator but how to change defined self.table_name = 'my_default_name'
self.table_nameto generator as param?my_default_nameas the name suggests is defined by myself. So always table name will bemy_default_name. I would like to allow user to generate migration with custom name