栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

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

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:confflyway.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:UsersliujhDesktopflywayflyway-4.2.0)
		3):输入 flyway migrate等命令

2,脚本命名规则

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

例:
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值,如果值相同则验证通过,否则失败。

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

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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/279775.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号