如何将迁移定向到特定的表空间

时间:2019-03-27 21:13:01

标签: ruby-on-rails ruby activerecord database-migration

我试图将表添加到现有项目的辅助表空间中,但无法弄清Rails为何迁移两个表空间。

正在运行的rake db:migrate_new会按需迁移到新表空间中。运行'rake db:migrate_old'将存储在db/migrate/new_tablespace_migrations中的迁移应用于当前/主数据库,因此我最终得到每个表的两个副本,每个表空间一个。

我正在尝试遵循本指南:https://www.thegreatcodeadventure.com/managing-multiple-databases-in-a-single-rails-application/

迁移代码:

task :migrate_new do
    NEW_DATABASE = YAML.load_file(File.join(Rails.root, "config", "old_database.yml"))[Rails.env.to_s]
    ActiveRecord::Base.establish_connection NEW_DATABASE
    ActiveRecord::Migrator.migrate("db/migrate/new_tablespace_migrations/")
end

task :migrate_old do
    OLD_DATABASE = YAML.load_file(File.join(Rails.root, "config", "database.yml"))[Rails.env.to_s]
    ActiveRecord::Base.establish_connection OLD_DATABASE
    ActiveRecord::Migrator.migrate("db/migrate/")

我是否需要找到一种方法从new_tablespace_migrations中的路径中过滤出migrate_old文件夹?有什么建议吗?

0 个答案:

没有答案