我看着我的表,我知道前面放一列,你可以做添加列前另一位在Rails的
add_column :customer, :first_name, after: :last_name
,但有沒有辦法做到:before
?
我看着我的表,我知道前面放一列,你可以做添加列前另一位在Rails的
add_column :customer, :first_name, after: :last_name
,但有沒有辦法做到:before
?
你能夠通過使用:first
選項插入你桌子前面一列:
add_column :table_name, :column_name, :column_type, first: true
,您仍然可以使用:after
處理所有其他定位的情況下。
這些是特定於mysql的選項。
https://github.com/rails/rails/blob/80e66cc/activerecord/lib/active_record/connection_adapters/mysql/schema_creation.rb#L50-L55列出了可用的選項,看起來像他們只支持before
和first
。
對於什麼是值得的,PostgreSQL只支持將列添加到表的末尾。
似乎沒有':before'選項。您可以指定':first => true',並使用':after'來處理所有其他定位情況。 – Zoran
添加這個答案,這工作 –
發表回答。 – Zoran