📜  rails 生成迁移数组默认值 - Ruby (1)

📅  最后修改于: 2023-12-03 15:04:47.335000             🧑  作者: Mango

Rails 生成迁移数组默认值 - Ruby

当我们在 Rails 应用程序中需要一个数组类型属性时,我们通常可以使用 add_columnremove_column 方法来添加或删除该属性。

例如,在 users 表中添加一个名为 skills 的数组属性,可以使用以下命令:

rails generate migration AddSkillsToUsers skills:jsonb[]

需要注意的是,skills:jsonb[] 中的 [] 表示数组类型属性。

现在,我们需要为该数组设置默认值。有两种方法可以实现这一点。

方法1:使用默认值字符串

第一种方法是使用默认值字符串,在迁移文件中添加以下代码:

t.jsonb :skills, default: '[]'

在上面的代码中,我们将默认值设置为一个空数组字符串 '[]'

方法2:使用 Ruby 代码块

第二种方法是使用 Ruby 代码块来设置默认值。在迁移文件中添加以下代码:

t.jsonb :skills, default: []

在上面的代码中,我们将默认值设置为一个空数组 []

注意:如果您将默认值设置为一个动态计算的数组,您可以使用 Ruby 代码块。

例如,在以下代码中,我们将在迁移文件中的默认值中添加一个计算属性:

t.jsonb :skills, default: -> { ["ruby", "rails", "javascript"] }

现在,skills 属性的默认值将是一个包含三个技能的数组:["ruby", "rails", "javascript"]

以上就是关于 Rails 生成迁移数组默认值的介绍。希望对您有所帮助!