如何在现有表凤凰中添加字段

时间:2018-01-29 05:02:39

标签: elixir phoenix-framework ecto

所以我是凤凰新手。我在我的凤凰项目中创建了一个简单的api,问题是我想在todo.ex中添加另一个字段

我想在我的todo.ex

中添加一个作者字段

发件人

defmodule TodoApi.Todo do
  use TodoApi.Web, :model

  schema "todos" do
    field :description, :string

    timestamps()
  end

  def changeset(struct, params \\ %{}) do
    struct
    |> cast(params, [:description])
    |> validate_required([:description])
  end
end

defmodule TodoApi.Todo do
  use TodoApi.Web, :model

  schema "todos" do
    field :description, :string
    field :author, :string

    timestamps()
  end

  def changeset(struct, params \\ %{}) do
    struct
    |> cast(params, [:description, :author])
    |> validate_required([:description, :author])
  end
end

但是我收到了postgrex错误42703列t0.author不存在

提前致谢..

1 个答案:

答案 0 :(得分:3)

您需要为todos表添加迁移。 如果您使用ecto,只需生成一个迁移并在那里添加一列。

Here's a link to docs

在你的情况下,它将是这样的

alter table("todos") do
  add :author, :text
end