我希望每当我向我的服务器部署新的 war 时运行 Flyway。
部署服务器时,flyway 会自动运行吗?我是否必须始终自动执行一个脚本,然后执行 flyway 迁移命令?或者最好的方法是什么?
服务器:
该服务器是在连接到 MySQL 数据库的 Elastic Beanstalk (AWS) 上运行的 Java Tomcat 服务器。
部署流程
我们手动在数据库上运行我们的 sql 迁移脚本。然后我们将新的服务器 war 上传到 Elastic Beanstalk。
最佳答案
这很有用:
启动时自动迁移:https://flywaydb.org/documentation/api/
所以对于 Java 来说,只需创建脚本(例如 V1__initial_schema.sql,...),将它们放在/src/main/resources/db/migration/下 然后:
Flyway flyway = new Flyway();
flyway.setDataSource(...);
flyway.migrate();
关于java - 部署新 war 时自动运行 Flyway 数据库迁移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37156300/