我有一个小问题,迫使我在两次迁移之间引入新的迁移。我的问题的简短版本是:在前两者之间引入新的迁移是否安全。
我做了什么
我需要一个将从文件中填充的表格。我添加了一个表,然后通过两次迁移在表上导入数据:
- 通过使用创建具有命名 ID 列的表的迁移
self.primary_key = some_id
- 将文本数据导入表的迁移
问题是,我忘了添加:id => false
到第一次迁移。这会导致id
创建列但未正确设置。由于我有主键,some_id
到目前为止它不会引起问题。
导轨 3.2.4
现在,我升级到 Rails 3.2.4。由于更改,看起来我需要id
在保存之前设置唯一性。这会导致上述迁移 2 失败。
最简单的解决方法是删除id
上述两个迁移之间的列,因为我需要测试套件来不时地从头开始构建数据库。为了使导入工作,我需要在第二次迁移运行之前修复它。
问题
现在的问题。
由于上述迁移已经部署,迁移将在除一次之外的所有迁移之后运行。
就我而言,创建这样的迁移看起来不错(时间戳介于上述两者之间)。
在这种情况下,可以像这样添加迁移吗?