在Rails中添加另一个列之前的列

时间:2016-10-26 21:03:36

标签: ruby-on-rails ruby activerecord

我希望在我的桌子前面放一根柱子,我知道你可以做到

add_column :customer, :first_name, after: :last_name

但有办法:before吗?

2 个答案:

答案 0 :(得分:5)

您可以使用:first选项在表格前面插入一列:

add_column :table_name, :column_name, :column_type, first: true

您仍然可以使用:after来处理所有其他定位案例。

答案 1 :(得分:2)

顺便提一下,这些是特定于mysql的选项。

https://github.com/rails/rails/blob/80e66cc/activerecord/lib/active_record/connection_adapters/mysql/schema_creation.rb#L50-L55列出了可用选项,看起来只支持beforefirst

对于它的价值,PostgreSQL仅支持在表的末尾添加列。

相关问题:alter table add ... before `code`?