【发布时间】:2017-05-26 01:59:03
【问题描述】:
我对模型的列顺序非常挑剔,以至于我正在删除我的数据库并更改我的原始迁移以确保列的顺序是我想要的方式。
还有比我现在做的更好的方法吗?
我也使用 annotate gem,我喜欢看到我的列以特定方式排序。
【问题讨论】:
-
当你最担心的时候,生活真是太好了。
标签: ruby-on-rails rails-migrations
我对模型的列顺序非常挑剔,以至于我正在删除我的数据库并更改我的原始迁移以确保列的顺序是我想要的方式。
还有比我现在做的更好的方法吗?
我也使用 annotate gem,我喜欢看到我的列以特定方式排序。
【问题讨论】:
标签: ruby-on-rails rails-migrations
更改原始迁移不被视为最佳做法,特别是如果多人在同一个项目上工作,并且每次更改现有迁移时每个人都必须重置他们的数据库。
如果您仍然对列的顺序有强烈的感觉,其中一种方法是编写 sql 查询作为迁移的一部分,并且对列排序的支持取决于数据库。
对于 mySQL (https://dev.mysql.com/doc/refman/5.7/en/alter-table.html):
要在表格行中的特定位置添加列,请使用 FIRST 或 AFTER col_name。默认是最后添加列。您还可以在 CHANGE 或 MODIFY 操作中使用 FIRST 和 AFTER 对表中的列进行重新排序。`
【讨论】: