Как направить миграции в определенное табличное пространство - PullRequest
0 голосов
/ 28 марта 2019

Я пытаюсь добавить таблицы во вторичное табличное пространство в существующем проекте и не могу понять, почему 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? Есть предложения?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...