0
我必須重命名錶a
列的一列並更改它的數據類型。我目前正在做如下:rename_column and change_column in one for active record migration
class RenameIdFromA < ActiveRecord::Migration
def change
rename_column :a, :a_id, :id
change_column :a, :id, :string, :limit => 50
end
end
有沒有一種方法可以一氣呵成?像
rename_and_change_column :a, :a_id, :id, :string, :limit => 50
如,它可以在MySQL
做到一氣呵成,由以下查詢:
ALTER TABLE `a` CHANGE `a_id` `id` varchar(50) DEFAULT 0 NOT NULL
不是開箱即用,因爲我知道。但是我不能對目前的解決方案有任何疑問。那麼你建議的另一個更清楚。 – aross
可能的重複[如何重命名列並通過同一時間更改其類型](http://stackoverflow.com/questions/13470670/how-to-rename-a-column-and-change-its-type-按同一時間遷移) –
該問題未回答該問題。 @aross:這將有助於表格中數據太多的情況,並且此遷移將運行兩個查詢,這將花費兩倍的時間,因爲我們知道我們可以在一個查詢中自行完成此操作。 – Saurabh