我们尝试直接从Flyway 3.0转到4.0以获得可重复迁移的访问权限。 (因此跳过版本3.1和3.2。)
通过#include <stdio.h>
int main(){
char char_ar[] = "hello world.";
char* char_ptr = char_ar;
/*Same thing*/
printf("*Same thing:\n");
printf("%x : %c\n", &*char_ptr, *char_ptr);
printf("%x : %c\n", &*char_ar, *char_ar);
/*Not same thing*/
printf("*Not the same thing:\n");
printf("%x : %c\n", char_ptr, *char_ptr);
printf("%x : %c\n", &char_ar, *(&char_ar));
getchar();
}
运行的SQL会删除版本3.0模式中不存在的索引MetaDataTableImpl.upgradeIfNecessary
和schema_version_vr_idx
,因此Postgres不满意。
支持多个版本升级的方法可能是使用schema_version_ir_idx
,但当然需要采用不同的数据库。
目前我通过在运行Flyway升级架构之前创建这两个索引来解决问题。
有更好的方法吗?
答案 0 :(得分:2)