赞
踩
Flyway是一款管理并跟踪数据库迁移(migrate)的数据库版本管理工具。它可以像SVN管理不同人的代码那样,管理不同人的sql脚本,从而做到数据库同步。
它可以帮助我们在不同环境保持数据库的同步,减少手工操作,同时也减少了遗漏的机会。
flyway可以集成在项目中,可以与Spring 框结合。在项目发版时,自动执行数据库脚本,无需人为执行数据库同步操作。
一言以蔽之:flyway通过历史记录表(flyway_schema_history)来记录版本历史。每次随项目启动时将会自动扫描在resources/db/migration下的文件并查询flyway_schema_history判断是否为新增文件。如果是新增的文件,则执行该迁移文件。如果不是,则忽略。
当flyway在一个空数据库执行时,它将直接创建一张默认名为flyway_schema_history的数据记录为空的历史记录表,这张表将被用来跟踪或记录数据库的状态。
尔后flyway将会开始扫描文档系统或项目classpath路径下的迁移文件。
flyway按版本号顺序排列迁移文件,并按序执行,并更新历史记录表中的内容:
当项目再次发版时,flyway会再次扫描迁移文件,然后将迁移文的版本号与历史记录表中的版本号进行对比。flyway会忽略版本号小于等于表中当前最大版本的迁移文件,剩余待执行迁移文件会按版本号升序执行。(译者注:并非真正忽略,而是会校验checksum值是否一致,以此来保证历史版本文件未被篡改。)
历史记录表变动如下:
所以每次当你打算升级数据库时(包含DDL、DML语句),只需要在指定路径下创建一个版本号大于历史记录表中当前最大的版本号的迁移文件即可。在下次flyway启动时(随项目启动或其他形式),数据库将会自动完成升级,你无须再手动执行脚本。
配置参考如下
<plugin>
<groupId>org.flywaydb</groupId>
<artifactId>flyway-maven-plugin</artifactId>
<version>5.2.0</version>
//latest 6.5.3
<configuration>
<url>jdbc:mysql://localhost:3306</url>
<user>root</user>
<password>root</password>
<schemas>
<schema>[your_schema]</schema>
</schemas>
</configuration>
</plugin>
执行如下命令
> mvn flyway:migrate
1、官网地址:
https://flywaydb.org/documentation/commandline/
2、配置环境变量path
3、cmd,输入flyway查看是否配置成功
4、修改配置文件conf/flyway.conf
flyway.url=
flyway.user=
flyway.password=
flyway.cleanDisabled=true
flyway.baselineOnMigrate=true
5、在sql文件下放置sql文件,同以上操作
6、在控制台,执行flyway migrate
1、https://flywaydb.org/getstarted/why
https://flywaydb.org/getstarted/how
https://flywaydb.org/documentation/
2、https://flywaydb.org/documentation/commandline/
3、https://github.com/liquibase/liquibase
4、https://www.liquibase.org/get-started/how-liquibase-works
5、https://www.liquibase.org/liquibase-vs-flyway
6、https://stackshare.io/stackups/flyway-vs-liquibase
7、mysql账号权限
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。