Ruby on rails Rails阻止db:从运行的子文件夹迁移
对于我的迁移,我有一个这样的结构Ruby on rails Rails阻止db:从运行的子文件夹迁移,ruby-on-rails,ruby,database,migration,Ruby On Rails,Ruby,Database,Migration,对于我的迁移,我有一个这样的结构 数据库/迁移 xx_创建_站点.rb 场地 xx_创建_用户.rb 站点目录包括只需要在单独的数据库上运行的迁移。我有一个工作任务为这些 desc "Migrate the database through scripts in db/migrate/site." namespace :db do task :sites => :environment do @sites = Site.all() for site in
- 数据库/迁移
- xx_创建_站点.rb
- 场地
- xx_创建_用户.rb
站点
目录包括只需要在单独的数据库上运行的迁移。我有一个工作任务为这些
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
,它也会将站点目录迁移到整个数据库中。。。如何防止此文件夹被迁移?Rails希望迁移位于db/migrate
中,并且在运行它们时,它会将该目录中的所有内容都全局化(请参阅:)
如果出于某种原因希望使某些迁移保持本地化,则需要将它们移出
db/migrate
,并使自定义rake任务指向该目录。这将在子文件夹中运行迁移。我需要忽略一个子文件夹。我很确定它会覆盖db/migrate
中的每个文件,所以在它之外选择一个不同的文件夹dir@Anthony这很有效,谢谢。你愿意回答吗?