DESC
task :migrate_dbms => :environment do
+ ActiveRecord::Base.establish_connection :development
+ target_tables = ActiveRecord::Base.connection.tables
+ ActiveRecord::Base.remove_connection
+
ActiveRecord::Base.establish_connection :production
+ tables = ActiveRecord::Base.connection.tables.sort - %w(schema_migrations plugin_schema_info)
+
+ if (tables - target_tables).any?
+ abort "The following table(s) are missing from the target database: #{(tables - target_tables).join(', ')}"
+ end
- (ActiveRecord::Base.connection.tables - %w(schema_migrations plugin_schema_info)).each do |table_name|
+ tables.each do |table_name|
Source = Class.new(ActiveRecord::Base)
Target = Class.new(ActiveRecord::Base)
Target.establish_connection(:development)