【发布时间】:2012-11-21 23:07:23
【问题描述】:
flyway 可以在迁移之前对数据库进行验证检查吗?
场景 1
例如:我正在尝试在现有数据库上执行 flyway。我已经在我的 db_users 表中插入了一些用户。
但是我的 sql 脚本有创建 db_users 表的语句以及所有用户的插入语句,包括已经插入的用户。
我可以在创建表之前进行 IF NOT_EXISTS 检查,但在每次插入之前进行检查会很困难。
场景 2
我已在我的数据库中迁移脚本 V1、V2、V3。我修改了脚本 V2 并进行了一些更改。下次我启动应用程序时,flyway 会识别此更改。
场景 3
我在 V2 sql 脚本中有一个 create table 语句。但是在启动我的应用程序后,我手动删除了该表。下次启动应用时,Flyway会识别出DB的变化并再次执行V2吗?
能否请您告诉我如何在 Flyway 中处理这些情况。
【问题讨论】:
-
如果在对模式运行后修改 V2 脚本,您将遇到哈希验证问题。考虑创建一个 V4 脚本来进行更改。即使它是冗长的,你也会使用而不是反对这个工具。
标签: flyway