2017-04-18 61 views
0

在我的一個數據庫表(我使用的是postgres)中有一列名爲:active,它當前是一個布爾值,默認爲true。我想將此列的類型從布爾型更改爲整型,以便我可以使用此項目的枚舉。我檢查了文檔和一些堆棧溢出的答案,但尚未找到一個確切的答案。我如何使用遷移進行此更改?如果這有所作爲,我正在使用Rails 5。謝謝!在列表中將列數據類型從布爾值更改爲整數

回答

2

你遷移文件應該是這樣的

def change 
    change_column :table_name, :active, :integer 
end 

而且你需要重寫所有先前的記錄,可以在相同的遷移文件中完成一個整數值。

0

您可以創建一個新的遷移:

rails g migration change_data_type_for_active 

然後編輯遷移到使用change_column

class ChangeDataTypeForActive < ActiveRecord::Migration 

    def self.up 
    change_column :table_name, :active, :integer 
    end 

    def self.down 
    change_column :table_name, :active, :boolean 
    end 

end 

然後運行遷移:

rake db:migrate 

之所以定義updown方法是你可以返回喲u數據庫到previos狀態:

rake db:rollback 
相關問題