我有这个架构:
schema "editables" do
field :title, :string
field :content, :binary
timestamps
end
我希望在应用程序启动时自动创建并填充几行,比如我想创建 6 个条目,其:title
字段包含:page1、page2、... 我应该这样做吗?
我有这个架构:
schema "editables" do
field :title, :string
field :content, :binary
timestamps
end
我希望在应用程序启动时自动创建并填充几行,比如我想创建 6 个条目,其:title
字段包含: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
每次应用程序启动时,我都看不出你有任何理由这样做。想象一下,您在开发、测试或生产中运行的每个命令现在都需要为在数据库中创建数据付出代价。这不是一个好主意。