我正在一个uuid / guid表中创建一个新列。
add_column:users,:uuid,:string,null:false
我正在使用以下方法设置uuid:
SecureRandom.uuid
由于现有数据没有任何值,因此迁移失败。
在迁移过程中,如何为每个使用新uuid的用户设置值?
答案 0 :(得分:2)
添加非空列时,您有2个选择:
根据您使用的数据库的不同,可能会也可能不允许您将表达式设置为默认值。
自从您提到使用Postgres以来,您可以阅读更多here 提供默认值的Rails语法将是
default: -> { 'uuid_generate_v1()' }