0

我有一个小问题,迫使我在两次迁移之间引入新的迁移。我的问题的简短版本是:在前两者之间引入新的迁移是否安全。

我做了什么

我需要一个将从文件中填充的表格。我添加了一个表,然后通过两次迁移在表上导入数据:

  1. 通过使用创建具有命名 ID 列的表的迁移self.primary_key = some_id
  2. 将文本数据导入表的迁移

问题是,我忘了添加:id => false到第一次迁移。这会导致id创建列但未正确设置。由于我有主键,some_id到目前为止它不会引起问题。

导轨 3.2.4

现在,我升级到 Rails 3.2.4。由于更改,看起来我需要id在保存之前设置唯一性。这会导致上述迁移 2 失败。

最简单的解决方法是删除id上述两个迁移之间的列,因为我需要测试套件来不时地从头开始构建数据库。为了使导入工作,我需要在第二次迁移运行之前修复它。

问题

现在的问题。

由于上述迁移已经部署,迁移将在除一次之外的所有迁移之后运行。

就我而言,创建这样的迁移看起来不错(时间戳介于上述两者之间)。

在这种情况下,可以像这样添加迁移吗?

4

0 回答 0