数据库版本管理工具Flyway——基础篇
Flyway 默认规约 SQL 脚本文件默认位置是项目的源文件夹下的db/migration 目录。
Java 代码默认位于db.migration 包。
SQL 脚本文件及Java 代码类名必须遵循以下命名规则:V[_][__description] 。
版本号的数字间以小数点(. )或下划线(_ )分隔开,版本号与描述间以连续的两个下划线(__ )分隔开。
如V1_1_0__Update.sql 。
Java 类名规约不允许存在小数点,所以Java 类名中版本号的数字间只能以下划线进行分隔。
<plugin>
<groupId>com.googlecode.flyway</groupId>
<artifactId>flyway-maven-plugin</artifactId>
<version>1.7</version>
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${mysql.connector.version}</version>
</dependency>
</dependencies>
<configuration>
<driver>com.mysql.jdbc.Driver</driver>
<url>jdbc:mysql://localhost/flywaydemo?useUnicode=true&characterEncoding=utf-8</url>
<user>root</user>
<password></password> <!-- 设置接受flyway进行版本管理的数据库,多个数据库以逗号分隔 -->
<schemas>flywaydemo</schemas>
<!-- 设置存放flyway metadata数据的表名 -->
<table>schema_version</table>
<!-- 设置flyway扫描sql升级脚本、java升级脚本的目录路径或包路径 -->
<locations>
<location>flyway/migrations</location>
<location>com.kedacom.flywaydemo.migrations</location>
</locations>
<!-- 设置sql脚本文件的编码 -->
<encoding>UTF-8</encoding>
<!-- 设置执行migrate操作之前的validation行为 -->
<validationMode>ALL</validationMode>
<!-- 设置当validation失败时的系统行为 -->
<validationErrorMode>FAIL</validationErrorMode>
</configuration>
</plugin>
上面的插件配置包含了几方面的配置信息:
- 声明插件
- 声明数据库驱动的依赖包
- Flyway 配置——数据库连接配置
- Flyway 配置——Flyway 参数与行为配置
执行Maven 命令进行Flyway 操作(下面列出几种常用的操作)
- mvn flyway:init (初始化Flyway metadata )
- mvn flyway:migrate (执行Flyway 升级操作)
- mvn flyway:validate (校验Flyway 数据正确性)
http://blog.csdn.net/nydia_lvhq/article/details/51362649
数据库版本管理工具Flyway——基础篇的更多相关文章
- [jOOQ中文]3. 数据库版本管理工具Flyway
https://segmentfault.com/a/1190000010526452 在执行数据库迁移时,我们推荐使用jOOQ与Flyway - 数据库迁移轻松. 在本章中,我们将简单的来使用这两个 ...
- 数据库版本管理工具--Flyway的使用
软件开发正常流程是:开发环境 ---> 测试环境 ----> 产环境 在开发过程中经常需要变更数据库: 表结构变更. 基础数据变更. 最直接的做法是:用客户端连上数据库直接修改. 依次修 ...
- 数据库版本管理工具Flyway(4.0.3)---介绍(译文)
Flyway Evolve your Database Schema easily and reliably across all your instances 简单的.可靠的升级(发展)你的数据库模 ...
- 数据库版本管理工具Flyway(4.0.3)---工作机制(译文)
How Flyway works The easiest scenario is when you point Flyway to an empty database. 最容易的方案是Flyway指向 ...
- 数据库版本管理工具flyway
引入flyway_core jar包 java 代码实现 public class FlywayMigration { @Resource private DataSource dataSource ...
- 【flyway】开源的数据库版本管理工具【migration】
开源的数据库版本管理工具[migration] 记录
- 【学习记录】第一章 数据库设计-《SQL Server数据库设计和开发基础篇视频课程》
一.课程笔记 1.1 软件开发周期 (1)需求分析阶段 分析客户的业务和数据处理需求. (2)概要设计阶段 设计数据库的E-R模型图,确认需求信息的正确和完整. /* E-R图:实体-关系图(Ent ...
- 版本管理工具介绍—Git篇
前篇 如题,提起版本管理工具相信做C#开发 还是对Git比较陌生 我们可能更熟悉vss.svn 记录此文的目的 更是为以后的前段学习做基础 现在的技术比如nodeJs angularJs ==都 ...
- (转)版本管理工具介绍——SVN篇(二)
http://blog.csdn.net/yerenyuan_pku/article/details/72620498 上一篇文章我介绍了一下SVN,以及SVN服务器的安装,相信大家都安装了,接下来我 ...
随机推荐
- 使用ajax发送图片等文件
1.使用H5的FormData()对象,append()添加文件 2.processData: false, // 告诉jQuery不要去处理发送的数据 contentType: false, ...
- 【Codeforces Round #442 (Div. 2) A】Alex and broken contest
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 注意是所有的名字里面,只出现了其中某一个名字一次. [代码] #include <bits/stdc++.h> usin ...
- ORACLE RMAN备份--差异增量与累积增量的策略实例图
转自原文 ORACLE RMAN备份--差异增量与累积增量的策略实例图
- self.view.layer.contents 和 self.view.backgroundColor
一. self.view.layer.contents 和 self.view.backgroundColor 今天测了一下 : self.view.layer.contents 和 self. ...
- 自己定义Dialog的具体步骤(实现自己定义样式一般原理)
转载请标注转载http://blog.csdn.net/oqihaogongyuan/article/details/50958659 自己定义Dialog的具体步骤(实现自己定义样式一般原理) ...
- Unity插件之NGUI学习(5)—— 创建Label图文混排及文字点击
创建一个新的Scene,并按 Unity插件之NGUI学习(2)创建UI Root. 准备工作,制作Font.如今Project窗体创建一个Font目录.然后从系统自带字体目录中选择自己须要的字体,我 ...
- ECMAScript5和ECMAScript6_浏览器支持情况
ECMAScript5浏览器支持情况: Opera 11.60 Internet Explorer 9* Firefox 4 Safari 5.1** Chrome 13 * IE9不支持严格模式 - ...
- 苹果APNS在app中的详细实现
鉴于server稳定的开发难度非常大,小团队不建议自己开发.建议使用稳定的第三方推送方案,如个推,蝴蝶等. 要想使用苹果APNS推送消息,首先要把开发app的xcode所用证书上传到server上,当 ...
- thinkphp3.1课程 1-1 为什么thinkphp在开发好后需要关掉开发模式
thinkphp3.1课程 1-1 为什么thinkphp在开发好后需要关掉开发模式 一.总结 一句话总结:因为调试模式中会记录你所有的调试信息,比如a调用b,b调用c,c调用d,比如你从哪个数据库取 ...
- php websocket-网页实时聊天之PHP实现websocket(ajax长轮询和websocket都可以时间网络聊天室)
php websocket-网页实时聊天之PHP实现websocket(ajax长轮询和websocket都可以时间网络聊天室) 一.总结 1.ajax长轮询和websocket都可以时间网络聊天室 ...