【发布时间】:2018-09-12 17:07:17
【问题描述】:
我正在尝试找出需要使用冲洗的情况。
作为一个反例,这种(微不足道的)情况不需要刷新:
defmodule MyRepo.Migrations.TestFlush do
use Ecto.Migration
def change do
create table(:test)
alter table(:test) do
add :a, :integer
end
end
end
它分别使用ecto.migrate 和ecto.rollback 来“向前”和“向后”工作。第二个宏“alter table”依赖于第一个宏“create table”的完成。 flush() 不需要在此处指示任何类型的同步依赖。
我正在尝试定义需要调用 flush() 才能使特定迁移成功运行的情况。
这里是 flush 的文档: https://hexdocs.pm/ecto/Ecto.Migration.html#flush/0
这是 flush 的源代码: https://github.com/elixir-ecto/ecto/blob/master/lib/ecto/migration/runner.ex#L96
请注意,flush 的源代码颠倒了“命令”,但它没有定义什么构成命令。
谢谢!
【问题讨论】: