首页 > 解决方案 > 是否可以使用 Ecto.Migrator 模拟“ecto.load”任务来发布 Elixir?

问题描述

我是第一次使用 Releases 进行部署,并且遇到了需要在启动 Web 服务器之前创建数据库并使用一些种子文件填充它的问题。此处的指南:https : //hexdocs.pm/phoenix/releases.html 表明这可以使用此处描述的低级 Ecto.Migrator api https://hexdocs.pm/ecto_sql/Ecto.Migrator.html#run /

我当前的项目使用了一个 structure.sql 文件并丢弃了旧的迁移文件,因为它们在项目期间变得很多并且回溯了很多。在我的开发环境中,我有一个这样的混合任务:

  "ecto.setup": [
    "ecto.create",
    "ecto.load",
    "ecto.migrate",
    "run priv/repo/seeds.exs",
    "run priv/repo/more_seeds.exs"
  ],

它创建了数据库结构并用关键种子文件填充它。我正在努力了解如何使用指南中链接的 API 来实现这一点,尽管他们只讨论了遍历一堆迁移文件。

任何意见,将不胜感激!

标签: elixirecto

解决方案


推荐阅读