【问题标题】:How do I alias a column in Elixir Ecto?如何在 Elixir Ecto 中为列添加别名?
【发布时间】:2018-11-12 18:02:35
【问题描述】:

所以我有一个遗留数据库架构,我试图在 Elixir (Phoenix) 和 Ecto 的帮助下对其进行规范化。列定义工作正常,但它们是可怕的名称(技术债务万岁)。

有没有办法给列名取别名,即“meetingName”在通过生成的api显示和管理时变成“meeting_name”?我浏览了 Ecto 文档,似乎根本找不到。

例子,

@primary_key {:meetingId, :integer, []}
@derive {Phoenix.Param, key: :meetingId}
schema "meeting" do
  field :meetingName, :string

  timestamps()
end

【问题讨论】:

  • 你不能重命名列吗?
  • 还有其他遗留应用程序访问同一个数据库——因此重命名列现在并不是真正的解决方案。

标签: elixir phoenix-framework ecto


【解决方案1】:

您可以将source 选项用作documented here。这使您可以指定该字段引用的数据库列。例如:

field :meeting_name, :string, source: :meetingName

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-04-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-31
    相关资源
    最近更新 更多