首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Flyway - drop db,create db

Flyway - drop db,create db
EN

Stack Overflow用户
提问于 2011-07-11 20:27:35
回答 2查看 5.4K关注 0票数 0

我有两个文件: db结构,和db数据sql文件。(我们还没有在项目中创建alter文件)。

有没有办法在每次构建之前运行这些文件,如果它们中的任何一个使用maven进行了更改?

我唯一的想法是在每次更改文件后重命名文件(带上版本),以确保flyaway将其拾取。

有没有更聪明的方法,也许是使用API或其他一些“技巧”?

谢谢

--MB

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-07-15 21:13:54

可以通过以下配置使用flyway migrate

代码语言:javascript
复制
validationMode=ALL
validationErrorMode=CLEAN

对于每次sql迁移,在执行sql脚本时都会计算CRC32校验和。验证机制检查类路径中的sql迁移是否仍具有与数据库中已执行的sql迁移相同的校验和。

validationErrorMode=CLEAN的唯一目的是为了方便开发。尽管我们强烈建议,一旦迁移脚本签入SCM并运行,就不要更改它们,这提供了一种平稳处理这种情况的方法。数据库将被自动清除,确保下一次迁移将使您返回到已检入SCM的状态。

此配置可通过API、maven plugincommand line使用。

票数 7
EN

Stack Overflow用户

发布于 2014-04-25 23:48:00

使用较新的Flyway,您可以使用

代码语言:javascript
复制
flyway.setInitOnMigrate(true);
flyway.setCleanOnValidationError(true);
flyway.setValidateOnMigrate(true);

如果文件的校验和更改或版本表丢失,则删除所有内容。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6650073

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档