【问题标题】:Rails migrations - look for changes in old migrations?Rails 迁移 - 寻找旧迁移的变化?
【发布时间】:2010-08-05 19:37:54
【问题描述】:

如果我有两个迁移,mig1 和 mig2,我运行 rake db:migrate,然后我返回到 mig1 并更改列的默认值,当我再次运行 rake db:migrate 时会反映此更改吗?还是我必须为该列进行新的迁移才能进行更改?

【问题讨论】:

    标签: ruby-on-rails ruby migration rails-migrations


    【解决方案1】:

    您可以通过运行以下命令重做给定的 VERSION:

    rake db:migrate:down VERSION=___________
    
    rake db:migrate:up VERSION=____________
    

    【讨论】:

      【解决方案2】:

      您应该进行新的迁移或使用 rake db:rollback 任务移回运行相关迁移之前的数据库版本。不会自动获取对迁移脚本的更改。

      会跟踪架构的当前版本并将其应用于迁移,因此运行 rake db:migrate 不会重新运行旧迁移。正是由于这个原因,您可以使用rollback 功能,只要您在迁移时提供了正确的self.down 方法。回滚执行这些向下方法,同时撤消迁移。

      然后您可以编辑迁移并重新迁移。

      【讨论】:

        【解决方案3】:

        rake db:migrate:redo VERSION=____

        【讨论】:

          猜你喜欢
          • 2015-10-08
          • 2015-06-23
          • 2018-07-09
          • 2010-10-16
          • 1970-01-01
          • 2021-07-16
          • 1970-01-01
          • 1970-01-01
          • 2015-03-25
          相关资源
          最近更新 更多