1

由於updated_at列在更新時查看所有屬性,所以我想添加一個new_updated_at,我將決定何時更新。將默認值添加到另一列的遷移

通過遷移插入的默認值我希望它是當前updated_at。

如何將遷移的默認值設置爲同一行但另一列的值?

回答

5

我認爲你必須做手工初始化,SQL在你的up遷移快速位將照顧它:

def up 
    # Add the new column... 
    connection.execute('update models set new_updated_at = updated_at') 
end 

你必須與你的真實表名稱,以取代models課程。

您可能需要修改生成的遷移並將其拆分爲單獨的updown方法,但這應該不成問題。如果您不想這樣做,請編寫單獨的遷移以初始化new_updated_at,並將上述connection.execute調用放入該遷移的up方法中。