Ecto mutliple repos--如何忽略迁移

时间:2018-03-17 12:35:24

标签: ecto

我已经配置了应用

config :my_app,
  ecto_repos: [MyApp.Repo, MyApp.LegacyRepo]

MyApp.Repo的迁移由Ecto管理。 MyApp.LegacyRepo迁移由Rails处理,并在mix ecto.migrate

上出错

有没有办法指定"我有两个回购,但请忽略第二个进行迁移"?

2 个答案:

答案 0 :(得分:1)

你可以将repo传递给像这样的混合ecto.migrate

mix ecto.migrate -r MyApp.Repo

您可以在phoenix应用中更新test / test_helper.ex,只运行一次这样的repo迁移

Mix.Task.run "ecto.migrate", ["-r", "MyApp.Repo", "--quiet"]

答案 1 :(得分:0)

另一种选择是更改config.exs。将其更改为...

config :my_app, ecto_repos: [MyApp.Repo]

根据the ecto.migrate documentation ...

  

要迁移的存储库是指定的存储库   :当前应用程序配置中的ecto_repos选项。但是,如果   给出了-r选项,它取代了:ecto_repos config。

在ecto_repos中没有MyApp.LegacyRepo并不能防止读取或写入或您期望的任何其他内容。它只是配置迁移任务。