gpt4 book ai didi

elixir - 如何在现有表 Phoenix 中添加字段

转载 作者:行者123 更新时间:2023-12-04 23:37:41 29 4
gpt4 key购买 nike

所以我是 Phoenix 的新手。我创建了一个简单的 api在我的 Phoenix 项目中,问题是我想在 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 不存在
提前致谢..

最佳答案

您需要为 todos 表添加迁移。

如果您使用 ecto,只需使用 mix ecto.gen.migration todos_add_author_column 生成迁移并在新生成的priv/repo/migrations/<timestamp>_todos_add_author_column.exs中添加一列像这样的文件:

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

Here's a link to docs

关于elixir - 如何在现有表 Phoenix 中添加字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48494655/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com