Вы должны передать primary_key: false
параметр:
def change do
create table(:accounts, primary_key: false) do
add :account_id, :integer, primary_key: true
add :email, :string
timestamps()
end
end
[Редактировать]
Поскольку сам спрашивающий написал в своем ответе, мы можем использовать :bigserial
вместо :integer
здесь .
:bigserial
занимает 8 байтов, а :integer
занимает 4 байта.
В Ecto 2.0 (выпущено в 2016 году) тип первичных ключей по умолчанию - :bigserial
, но мы можем смело используйте :integer
для обычных целей, так как он все еще очень большой (от 1 до 2 147 483 647).