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