elixir - 如何指示 ecto 不创建自动递增 id 字段?

标签 elixir

Ecto 迁移会自动在表中创建一个名为“id”的自动增量字段。

  • 如何避免创建此字段?
  • 如何将表中的另一列设置为主键(不是自动递增)?
  • 最佳答案

    您可以使用 primary_key: false 选择退出自动生成的主键列。选项 table/2 .您可以使用 primary_key: true 将另一列设置为主键选项 add/3 :

    create table(:users, primary_key: false) do
      add :my_id, :integer, primary_key: true
      add :name, :string
      # ...
    end
    

    有关更多信息,请参阅文档:

    http://hexdocs.pm/ecto/0.11.3/Ecto.Migration.html#table/2
    http://hexdocs.pm/ecto/0.11.3/Ecto.Migration.html#add/3

    关于elixir - 如何指示 ecto 不创建自动递增 id 字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30466307/

    相关文章:

    elixir - 我应该如何管理插入相关表

    elixir - 如何否定管道中的 bool 值?

    elixir - @derive 模块属性的具体语法是什么,它在哪里明确记录?

    elixir - 如何别名在mix.exs中运行两次?

    elixir - 无法在 Phoenix 中创建嵌套资源

    elixir - 标准化 Elixir/Phoenix 中的字符串

    Elixir sleep /等待 1 秒

    Elixir 模式匹配 ecto 错误

    testing - 模拟函数 Elixir

    macros - 将计算列表传递给 Elixir 宏