即使校验和相同,是否也可以在 Flyway 中执行可重复的迁移?我面临的问题是有一个视图用额外的行扩展了另一个表,并且该视图不会自动更新。
这里有一个例子:
R__person_view.sql
CREATE OR REPLACE VIEW person_view AS
SELECT p.*, e.name FROM person p, entity e
WHERE /* not relevant here ... */;
如果首先执行此迁移,它将正常工作。如果我添加另一个迁移,在其中修改表
person
,则更改不会适应,因为视图迁移校验和没有更改。
是的,从 Flyway 6.3.0 开始,每次都可以运行可重复的迁移 在注释中使用时间戳占位符,确保 Flyway 每次都将其视为重新更改。例如:
R__UtilityProcedures.sql
-- ${flyway:timestamp}
create or replace procedure my_important_proc