由于updated_at列在更新时查看了所有属性,我想添加一个new_updated_at,我将在更新时决定。
通过迁移插入时的默认值我希望它是当前的updated_at。
如何将迁移的默认值设置为同一行但另一列的值?
答案 0 :(得分:6)
我认为您必须手动进行初始化,up
迁移中的一小部分SQL会处理它:
def up
# Add the new column...
connection.execute('update models set new_updated_at = updated_at')
end
当然,您必须用您的真实表名替换models
。
您可能需要修改生成的迁移并将其拆分为单独的up
和down
方法,但这不应该是一个问题。如果您不想这样做,请编写单独的迁移来初始化new_updated_at
并将上述connection.execute
调用放入该迁移的up
方法中。