当前位置:   article > 正文

Flyway-commandline:数据库版本管理看这一篇就够了_怎么管理数据库版本

怎么管理数据库版本

1. 简介
Flyway是一款数据库迁移(migration)工具。它帮助我们在不同环境进行数据库的同步,减少人为操作,避免数据了导入的顺序错误,同时也减少了遗漏的机会。可以把它想象成git,多人同时操作代码。

2.支持的数据库
Oracle, SQL Server, SQL Azure, DB2, DB2 z/OS, MySQL (including Amazon RDS), MariaDB, Google Cloud SQL, PostgreSQL (including Amazon RDS and Heroku), Redshift, Vertica, H2, Hsql, Derby, SQLite, SAP HANA, solidDB, Sybase ASE and Phoenix。

3.操作讲解
注:这里所用flyway-commandline-4.2.0,不入侵代码

1. 目录结构
在这里插入图片描述
以window版本进行讲解,Linux版本基本一致。

	i:conf\flyway.conf   
	(修改如下参数就行,其余参数设置根据需求,在做适配)
	flyway.url=jdbc:dbc:oracle:thin:@//127.0.0.1:0000/test
	flyway.user=test
	flyway.password=test
		
	ii:\drivers
	这里采用的Oracle数据库,Flyway的drivers目录中没有存放Oracle驱动包,这里需手动添加。
			
	iii:jars和jre是Flyway相关Java运行环境。
			
	iv:lib	Flyway相关jar包。
			
	v:sql  存放Flyway所要执行的sql脚本
			
	vi: flyway和flay.cmd用于执行命令
		例如:window
		1):win+R,输入cmd,打开命令窗口
		2):进入flyway根目录 (cd C:\Users\liujh\Desktop\flyway\flyway-4.2.0\)
		3):输入 flyway migrate等命令
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

2,脚本命名规则

	a: Versioned--于版本升级, 每个版本有唯一的版本号并只能使用一次。版本号可以是数字加 . 的形式。(例:V2021.9.29__Add_new_table)
	b: Undo--可为对应版本的常规 versioned migration 进行回退操作。(社区版不提供)
	c: Repeatable--是指可重复加载的 migration, 一旦 SQL 脚本的 checksum 有变动, flyway 就会重新应用该脚本.
  • 1
  • 2
  • 3

例:
V2021.9.29__Add_new_table
R__Add_new_table


4,常用命令

1,migrate
执行sql文件夹中的sql,更新到最新版本
2,baseline
对已经拥有表结构的数据库中实现添加Metadata表。注意:sql脚本执行,会从第二个V脚本开始,因为这个命令会以当前数据库版本为基线进行版本创建。
3,clean
清除掉对应数据库Schema中所有的对象,说白了,删库。但在生产环境务必禁用。
4,info
打印所有的Migrations的详细和状态信息。
5,repair
repair操作能够修复metaData表。
6,undo 撤销操作,社区版不支持。
7,validate 验证已经apply的Migrations是否有变更,默认开启的,原理是对比MetaData表与本地Migrations的checkNum值,如果值相同则验证通过,否则失败。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

注:由于schema_verison是记录数据库的版本信息,因此flyway对其做了保护策略。如果要查看这张表,则必须给表名加双引号,如select * from “schema_version”;(这里是默认表名,可在配置文件中更改)

Flyway-commandline下载链接:https://flywaydb.org/documentation/usage/commandline/
Flyway官网:https://flywaydb.org/

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/595658
推荐阅读
相关标签
  

闽ICP备14008679号