flyway的使用
来源:互联网 发布:英语谐音软件 编辑:程序博客网 时间:2024/05/21 06:17
在频繁的工程实践中,服务端程序与数据库不断的更新,如果服务端和数据库部署不一致,经常性的会导致各种问题。为了解决这一问题,可行的方案之一就是让数据库随着服务端的版本而更新,flyway就是一种解决方案。
一. 目的
管理数据库更新。
二.方法
直接在java工程中嵌入sql脚本。工程重新部署时,会自动更新数据库,保证数据库与代码同步,避免了手动更新数据库带来的弊病。
三.原理
在数据库中创建了一个表schema_version,该表的最后记录为当前数据库版本。
四.步骤
1.在pom文件中加入如下:
<dependency>
<groupId>org.flywaydb</groupId>
<artifactId>flyway-core</artifactId>
<version>3.2.1</version>
</dependency>
2.在dispatcher-servlet.xml中加入
<bean id="flyway" class="org.flywaydb.core.Flyway" depends-on="dataSource" lazy-init="false" init-method="migrate">
<property name="dataSource" ref="dataSource"/>
<property name="initOnMigrate" value="true" />
<property name="validateOnMigrate" value="false" />
</bean>
同时让其它数据库操作bean依赖于flyway这个bean,避免数据库未升级完毕已经进行数据库操作。
<bean id="hibernate4AnnotatedSessionFactory"
class="org.springframework.orm.hibernate4.LocalSessionFactoryBean" depends-on="flyway">
<bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager" depends-on="flyway">
3.在resources下建立数据库脚本升级目录,请注意脚本命名方式
五.注意
1.flyway不支持回滚,如果你增加了一个字段,然后又要删除这个字段,就只能写一个V2_6_0_1__Delete_new_like_Column.sql的脚本。
2.一旦使用flyway,就不要使用手动方式修改数据库,同时不得删除schema_version中数据。
- flyway的使用
- flyway使用
- Flyway的简单介绍及使用
- flyway使用简介
- springboot使用flyway
- spring boot 项目增加flyway的使用遇到问题解决
- SpringBoot之开启数据库迁移的FlyWay使用
- 使用flyway对应用的数据库版本控制
- Flyway的“坑”
- Spring Boot项目使用Flyway
- 快速掌握和使用Flyway
- spring集成flyway的方式
- 使用Gradle整合Flyway进行数据库迁移
- flyway在spring boot中的使用
- flyway初始化脚本存在默认特殊字符的问题处理
- 数据库版本控制Flyway+Maven的具体实现
- Flyway简介
- 数据库版本管理工具flyway
- 对象的简单使用
- WebService调度超时
- STL源码笔记(15)—堆和优先级队列(二)
- JS文件传值问题
- Ubuntu 修改盘的标号
- flyway的使用
- hibernate配置级联删除
- 一致性哈希算法
- linux 如何禁止通过IP访问网站,只让用域名访问网站
- iOS block的简单说明
- 数据标准化和归一化
- AYITACM2016省赛第三周M - Beijing Guards(贪心+二分)
- 判断设备是否插入耳机
- Java学习之分页查询