elixir – 如何在Phoenix应用程序启动时预先填充数据库?

我有这个模式:

schema "editables" do
    field :title, :string 
    field :content, :binary
   timestamps
end

我想要在应用程序启动时自动创建和填充几行,例如,我想创建6个条目,其中:标题字段包含:page1,page2,…
我该怎么办?

最佳答案
我的建议:创建一个将填充数据库的脚本文件.我们称它为priv / repo / seeds.exs:

alias MyApp.Repo
Repo.insert! %MyApp.Data{...}
Repo.insert! %MyApp.Data{...}

在开发中你可以运行它

mix run priv/repo/seeds.exs

或在生产中需要时:

MIX_ENV=prod mix run priv/repo/seeds.exs

每次应用程式启动时,我都看不到任何理由.想象一下,在开发,测试或生产中运行的每个命令现在都需要支付在数据库中创建数据的惩罚.这不是一个好主意

转载注明原文:elixir – 如何在Phoenix应用程序启动时预先填充数据库? - 代码日志