ruby on rails—为另一个列的迁移添加默认值



由于updated_at列在更新时查看所有属性,因此我想添加一个new_updated_at,我将决定何时更新。

通过迁移插入时的默认值,我希望它是当前的updated_at。

如何将迁移的默认值设置为同一行但另一列的值?

我认为你必须手工进行初始化,在你的up迁移中快速一点SQL将照顾它:

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

相关内容

  • 没有找到相关文章