Browse Source

Check that target tables exist before proceeding.

git-svn-id: http://svn.redmine.org/redmine/trunk@12865 e93f8b46-1217-0410-a6f0-8f06a7374b81
tags/2.5.0
Jean-Philippe Lang 10 years ago
parent
commit
fa31229a23
1 changed files with 10 additions and 1 deletions
  1. 10
    1
      lib/tasks/redmine.rake

+ 10
- 1
lib/tasks/redmine.rake View File

@@ -60,9 +60,18 @@ WARNING: All data in the development database is deleted.
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)

Loading…
Cancel
Save