首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails防止db:从运行的子文件夹迁移

Rails防止db:从运行的子文件夹迁移
EN

Stack Overflow用户
提问于 2018-04-19 12:15:28
回答 1查看 303关注 0票数 0

我有一个类似这样的结构来进行迁移

  • 数据库/迁移
    • xx_create_sites.rb
    • 站点
      • xx_create_users.rb

site目录包含只需要在单独的DB上运行的迁移。我有个工作任务要做

代码语言:javascript
复制
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,它也会运行站点目录迁移到整个数据库.如何防止迁移此文件夹?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-19 14:27:32

Rails希望迁移在db/migrate中,并且在运行这些迁移时它会将目录中的所有内容全局化(参见:医生们)。

如果出于某种原因希望保持某些迁移的本地化,则需要将它们移出db/migrate,并让您的自定义rake任务指向该dir。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49920890

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档