【发布时间】:2016-05-28 14:05:22
【问题描述】:
使用phoenix框架,:id, :integer会自动生成。
http://www.phoenixframework.org/docs/ecto-custom-primary-keys
但我不希望它自动生成并使用自定义 id 字段,例如:id, :string,就像这样
http://ruby-journal.com/how-to-override-default-primary-key-id-in-rails/
设置
defmodule MyApp.Item do
use MyApp.Web, :model
# @primary_key {:id, :id, autogenerate: false}
schema "items" do
field :id, :string, autogenerate: false # some unique id string
field :type, :integer
它引发** (ArgumentError) field/association :id is already set on schema https://github.com/elixir-lang/ecto/blob/db1f9ccdcc01f5abffcab0b5e0732eeecd93aa19/lib/ecto/schema.ex#L1327
【问题讨论】:
-
迁移文件中似乎有
create table(:items, primary_key: false) do...? phoenixframework.org/docs/ecto-custom-primary-keys