0
我下面類似這樣的東西answer通過添加一個字段,並在遷移填充它。不能識別領域的外生遷移,即使經過沖洗
def up do
alter table(:posts) do
add :urltitle, :string
end
flush()
Repo.all(Post)
|> Enum.map(fn p ->
urltitle =
p.title
|> String.downcase
|> Enum.map(fn c -> case URI.char_unreserved?(c) do
true -> c
false -> '-'
end
end)
|> to_string
Ecto.Changeset.cast(p, %{urltitle: urltitle}, ~w(urltitle))
end)
|> Repo.update_all()
end
使用flush(),它仍然有問題來識別我的新字段:urltitle。我得到的錯誤消息是
(ArgumentError)未知字段
urltitle
。只有字段,嵌入和關聯(除外)通過更改集支持
我在做什麼不正確?
你該字段添加到'POST'你的模式定義? –
不,我沒有。有與update_all一個問題(我試過update_all([]),如在第二個答案,但也沒有工作。我想這個具體的問題已經解決了,雖然,謝謝! –