在进行迁移时是否可以重新排序列?

时间:2017-05-26 01:59:03

标签: ruby-on-rails rails-migrations

我对我的模型列的顺序非常挑剔,我要删除我的数据库并更改原始迁移以确保列的顺序是我想要的方式。

有没有比我正在做的更好的方式?

我也使用annotate gem,我喜欢以特定方式查看我的列。

1 个答案:

答案 0 :(得分:0)

更改原始迁移不被视为最佳做法,特别是如果多个人正在处理同一个项目,并且每次更改现有迁移时每个人都必须重置其数据库。

如果您仍然对列的顺序感到强烈,那么其中一种方法是在迁移过程中编写SQL查询,并且对排序列的支持取决于数据库。

对于mySQL(https://dev.mysql.com/doc/refman/5.7/en/alter-table.html):

  

要在表格行中的特定位置添加列,请使用FIRST或AFTER col_name。默认是最后添加列。您还可以在CHANGE或MODIFY操作中使用FIRST和AFTER重新排序表格中的列。