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方法中。