【发布时间】:2014-11-12 17:55:11
【问题描述】:
如果我有一张桌子User。
一开始有2列phone,address
稍后我需要一个新的专栏name,
如何添加新列并将新列放在首位。
我知道如何添加新列
add_column :users, :name, :string
但不知道如何改变它的顺序。
因为它默认会追加到最后一个位置。
我读了一本书'head first SQL'
它告诉我,最好将主键放在首位
【问题讨论】:
-
我真的很想知道为什么要更改列位置?只是想知道为什么??
-
你的主键默认(和约定)是
id,它在第一位。 -
那么,您创建了一个没有主键的表?我希望您处于早期开发阶段,我建议您在完成表设计后,放弃您的表,重新考虑您的域模型并重新创建它。
-
依赖于列顺序位置的代码是 IMO 损坏代码。