【发布时间】:2018-09-29 22:42:27
【问题描述】:
我的迁移有这样的结构
- db/迁移
- xx_create_sites.rb
- 网站
- xx_create_users.rb
site 目录包含只需要在单独的数据库上运行的迁移。我有一个工作的耙子任务
desc "Migrate the database through scripts in db/migrate/site."
namespace :db do
task :sites => :environment do
@sites = Site.all()
for site in @sites do
conn_config = ActiveRecord::Base.connection_config
conn_config[:database] = site.id
ActiveRecord::Base.establish_connection conn_config
ActiveRecord::MigrationContext.new("db/migrate/site/").migrate
end
end
end
但是,如果我为默认数据库运行bin/rails db:migrate,它还会将站点目录迁移到整个数据库中...如何防止此文件夹被迁移?
【问题讨论】:
-
这会在子文件夹中运行迁移。我需要忽略一个子文件夹。
-
我很确定它会覆盖
db/migrate中的每个文件,因此请在该目录之外选择一个不同的文件夹 -
@Anthony 成功了,谢谢。想形成一个答案?
标签: ruby-on-rails ruby database migration