更改现有表格?

时间:2017-12-07 18:08:37

标签: ruby-on-rails

我刚才有一个简短的问题。一旦您运行了更改迁移,例如您需要向现有表添加列,那么您可以创建更改迁移。如果我已经运行了更改迁移,并且想在该表中添加不同的新列,我是否可以在更改迁移中编辑代码以添加第二个新列,或者我是否必须创建一个全新的更改迁移?

2 个答案:

答案 0 :(得分:0)

正如您所说,您已经运行了迁移,这意味着您的更改已反映到您的数据库中。所以在这一点上,如果你想要进行另一次更改,那么你需要进行新的迁移,但是有一种方法可以在同一次迁移中进行更改

1首先,您需要还原该迁移,这意味着您需要回滚要更改的迁移

rake db:migrate:down VERSION=20100905201547

2-现在在此迁移文件中进行更改(in your case add another column also)并运行

rake db:migrate

但如果您还没有将代码推送到git,则始终建议您创建新的迁移。

答案 1 :(得分:0)

要对同一个迁移文件实施更改:

1)使用ROLLBACK后退一步

rake db:rollback STEP=1

2)实施变更:

# add new column

3)运行db migrate:

rake db:migrate