自定义ecto迁移主键并自动生成

时间:2018-01-22 14:09:43

标签: database postgresql elixir phoenix-framework ecto

我想创建一个自动生成aid的用户表,以及我自己处理的ID。

我尝试了以下迁移和架构:

迁移:

def change do
  create table(:users, primary_key: false) do
    add :aid, :id, autogenerate: true
    add :id, :integer
    add :first_name, :string
    add :last_name, :string
    add :email, :string
    add :phone, :string
    add :language, :string
    add :password_hash, :string
    add :verified_email, :utc_datetime
    add :verified_phone, :utc_datetime

    timestamps()
  end

运行此迁移时发生的情况是aid列未添加到我的user表中

如何根据需要更改数据库?

1 个答案:

答案 0 :(得分:2)

您应该使用primary_key: true代替autogenerate: true

add :aid, :id, primary_key: true