如何使用“null:false”向现有表添加新列并且没有默认值?

时间:2016-09-05 16:22:01

标签: elixir ecto

所以我有以下迁移:

defmodule App.Repo.Migrations.AddTitleToRoles do
  use Ecto.Migration

  def change do
    alter table(:roles) do
      add :title, :string, null: false
    end
  end
end

问题是由于空约束,此迁移将失败:

12:12:28.961 [info] alter table roles ** (Postgrex.Error) ERROR (not_null_violation): column "title" contains null values

在Rails中,我的解决方案是首先添加没有约束的字段,然后更新值,然后change_column添加约束。

但是,我似乎无法找到Ecto的等效change_column

如何向现有列添加约束?

0 个答案:

没有答案