我在我的项目中遵循伞形应用程序结构。我正在编写访问层应用程序,它没有单独的存储库,但需要迁移某些表和关系才能使其工作。我不想为它创建单独的 repo 并使维护配置等变得复杂。
我尝试了以下两种方法
defmodule Data.Repo.Migrations.CreateActions do
use Ecto.Migration
def change do
# First approach
opts = []
file_path = ExAcl.SeedHelper.priv_path_for("20181129092126_create_actions.exs", app: :acl)
Ecto.Migrator.run(Data.Repo, file_path, :up, opts)
{:ok, _} = Application.ensure_all_started(:acl)
# Second approach
Ecto.Migrator.up(HaiData.Repo, 20181129092126, ExAcl.Repo.Migrations.CreateActions)
end
end
但它不会在另一个应用程序中运行迁移。
也许我没有朝着正确的方向前进。我不确定在另一个应用程序中运行迁移的最佳方式是什么
目标:通过主数据应用在 acl 应用中运行迁移。