Ответ 1
Мое предложение: создайте файл script, который будет заполнять базу данных. Назовем его 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
Я не вижу причин для вас делать это каждый раз, когда приложение запускается. Представьте, что каждая команда, которую вы запускаете в процессе разработки, тестирования или производства, теперь должна платить штраф за создание данных в базе данных. Это не очень хорошая идея.