gpt4 book ai didi

ruby-on-rails - 如何用与数据库中的名称不同的名称来命名枚举?

转载 作者:数据小太阳 更新时间:2023-10-29 08:29:47 24 4
gpt4 key购买 nike

我有一个enum的模型:

class MyModel < ApplicationRecord
enum my_enum: [:status1, :status2, :status3, :status4]


# .........
end

我希望数据库中的字段标题为“status”,而在我的模型中,它应该标题为“my_enum”
这可能吗?如何指定数据库中源列的名称?
我知道rails中“enum”的“前缀”、“后缀”属性,这不是我需要的。

最佳答案

activerecord::enum没有这样的选项。
但您可以使用alias_attribute创建别名,然后为该别名创建枚举映射:

class MyModel < ApplicationRecord
alias_attribute :my_enum, :status
enum my_enum: [:status1, :status2, :status3, :status4]
end

我认为这不是个好主意,因为枚举映射没有指向实际的列名,所以可能会出现意外的错误。除了被一个非常糟糕的遗留数据库困住之外,我实在想不出这个特性的有效用例。

关于ruby-on-rails - 如何用与数据库中的名称不同的名称来命名枚举?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52978914/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com