📅  最后修改于: 2023-12-03 15:04:47.335000             🧑  作者: Mango
当我们在 Rails 应用程序中需要一个数组类型属性时,我们通常可以使用 add_column
和 remove_column
方法来添加或删除该属性。
例如,在 users
表中添加一个名为 skills
的数组属性,可以使用以下命令:
rails generate migration AddSkillsToUsers skills:jsonb[]
需要注意的是,skills:jsonb[]
中的 []
表示数组类型属性。
现在,我们需要为该数组设置默认值。有两种方法可以实现这一点。
第一种方法是使用默认值字符串,在迁移文件中添加以下代码:
t.jsonb :skills, default: '[]'
在上面的代码中,我们将默认值设置为一个空数组字符串 '[]'
。
第二种方法是使用 Ruby 代码块来设置默认值。在迁移文件中添加以下代码:
t.jsonb :skills, default: []
在上面的代码中,我们将默认值设置为一个空数组 []
。
注意:如果您将默认值设置为一个动态计算的数组,您可以使用 Ruby 代码块。
例如,在以下代码中,我们将在迁移文件中的默认值中添加一个计算属性:
t.jsonb :skills, default: -> { ["ruby", "rails", "javascript"] }
现在,skills
属性的默认值将是一个包含三个技能的数组:["ruby", "rails", "javascript"]
。
以上就是关于 Rails 生成迁移数组默认值的介绍。希望对您有所帮助!