elixir - 如何在 Elixir Ecto 中为列添加别名?

标签 elixir phoenix-framework ecto

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

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

例子,

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

  timestamps()
end

最佳答案

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

field :meeting_name, :string, source: :meetingName

关于elixir - 如何在 Elixir Ecto 中为列添加别名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38440115/

相关文章:

elixir - ecto add/3 默认无法正常工作

postgresql - Ecto embeds_many 关联中的查询

list - Elixir:打印列表以及字符串

elixir - Ecto 查询日期范围

elixir - 如何动态设置 ecto 模型的架构表名称

elixir - 列表中的 Ecto multi build_assoc

elixir - put_assoc 需要验证

elixir - Absinthe.Plug 不可用

postgresql - 无法使用对等身份验证在没有密码的情况下运行 `mix ecto.migrate`

elixir - Phoenix 和 Ecto 以及 SELECT