Ruby on rails 如何更改列';s在表中的位置
如果我有一个表Ruby on rails 如何更改列';s在表中的位置,ruby-on-rails,postgresql,Ruby On Rails,Postgresql,如果我有一个表User 首先,它有两列phone,address 稍后我需要创建一个新列名称 如何添加新列并将新列放在第一个位置 我知道如何添加新列 add_column :users, :name, :string 但不知道如何改变它的顺序 因为默认情况下,它将附加到最后一个位置 我读了一本书“头先SQL” 它告诉我,将主键放在第一个位置是更好的做法使用:first选项 add_column :users, :name, :string, :first => true 您可以在rai
User
首先,它有两列phone
,address
稍后我需要创建一个新列名称
如何添加新列并将新列放在第一个位置
我知道如何添加新列
add_column :users, :name, :string
但不知道如何改变它的顺序
因为默认情况下,它将附加到最后一个位置
我读了一本书“头先SQL”
它告诉我,将主键放在第一个位置是更好的做法使用
:first
选项
add_column :users, :name, :string, :first => true
您可以在rails中使用
:after
来定位列,如下所示:
add_column :users, :name, :string, :after => :id #primary_key
为什么要更改列的位置?我真的很想知道为什么要更改列的位置?只是想知道为什么??您的主键默认(按照惯例)是
id
,并且它位于第一个位置。那么,您创建了一个没有主键的表?我希望您处于早期开发阶段&我建议您在完成表的设计后,放下表,重新考虑域模型并重新创建它。依赖于列顺序位置的代码是不完整的代码。如果在SQL级别不可能,那么这应该如何工作?