如何在Ecto中更改字段类型?

Pau*_*iro 22 elixir ecto phoenix-framework

我有一个架构:

schema "editables" do
    field :title, :string
    field :content, :string

    timestamps
  end
Run Code Online (Sandbox Code Playgroud)

现在我想将一个字段表单的类型更改:integer:binary.编写迁移的正确方法是什么,因为使用add不起作用......?

def change do
    alter table(:editables) do
      add :title, :binary
      add :content, :binary

      timestamps
    end
  end
Run Code Online (Sandbox Code Playgroud)

Gaz*_*ler 30

您必须使用modify/3来更改类型.add/3仅用于添加新列.

alter table(:editables) do
  modify :content, :binary
end
Run Code Online (Sandbox Code Playgroud)

  • 对。因此,在生产中无法做到这一点……感谢Gazler。 (2认同)