9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
# File 'lib/generators/multiple_dbs_model/multiple_dbs_model_generator.rb', line 9
def create_migration_file
if MultipleDbs and MultipleDbs::DBS
return unless options[:migration] && options[:parent].nil?
attributes.each { |a| a.attr_options.delete(:index) if a.reference? && !a.has_index? } if options[:indexes] == false
only_arr = options[:only].map{|o| o.to_sym }.delete_if{ |o| !MultipleDbs::DBS.include?(o)} if options[:only] and options[:only].any?
skip_arr = options[:skip].map{|s| s.to_sym }.delete_if{ |s| !MultipleDbs::DBS.include?(s)} if options[:skip] and options[:skip].any?
databases_list = (MultipleDbs::DBS & only_arr) if only_arr and only_arr.any?
databases_list = databases_list - skip_arr if skip_arr and skip_arr.any?
databases_list ||= MultipleDbs::DBS
databases_list.each do |branch|
migration_template "../../migration/templates/create_table_migration.rb", "db/#{branch}/migrate/#{table_name}.rb"
end if databases_list.any?
else
puts "The multiple_dbs constant is not defined. The multiple_dbs generator must be runned first. Type in your console: rails g multiple_dbs --help"
end
end
|