`
lp895876294
  • 浏览: 284907 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

数据库文件版本管理工具flyway

    博客分类:
  • DB
 
阅读更多

flyway 是一个敏捷工具,用于数据库的移植。采用 Java 开发,支持所有兼容 JDBC 的数据库。

主要用于在你的应用版本不断升级的同时,升级你的数据库结构和里面的数据。

官方网站:http://flywaydb.org/

支持俩种模式迁徙:

1、基于sql文件迁徙:http://flywaydb.org/documentation/migration/sql.html

2、基于java文件迁徙:http://flywaydb.org/documentation/migration/java.html

在项目中我们的使用方式为:

1.数据表的完整性由JPA完成,不能手动的执行字段更新及删除操作。

2.数据初始化、限制的维护由flyway完成。

 

可以以spring管理flyway框架,或者说相结合。

在项目源码包中:

路径为 :db/migration   【如果不喜欢可以自己根据配置来命名位置】

命名规范:

1、前缀(可配置,默认值:V)

2、版本(以点或下划线区分开来,只要你喜欢,你可以使用很多地方)

3、分隔符(两个下划线)

4、描述(下划线或空格分开)

5、后缀(可配置,默认情况下:SQL)

 

与spring管理配置

 

[html] view plaincopy
 
  1. <bean id="flyway" class="com.googlecode.flyway.core.Flyway" init-method="migrate">  
  2.     <property name="dataSource" ref="..."/>  
  3.     ...  
  4. </bean>  
  5.   
  6. <!-- The rest of the application (incl. Hibernate) -->  
  7. <!-- Must be run after Flyway to ensure the database is compatible with the code -->  
  8. <bean id="sessionFactory" class="..." depends-on="flyway">  
  9.     ...  
  10. </bean>  



 

把dataSource 配置你的dataSource 、sessionFactory 依赖flyway就可以了。

关于flyway 的bean 里的init-method 方法。

第一次可能需要你改为init方法 初始化 schema_version表。

之后改为migrate就可以了。

 

注意:flyway不支持版本回滚。(需手动,比较悲剧的一点)

 

以后数据多改栏位、或者类型的就不用来回通知研发人员了。

直接写个版本sql文件就可以了,项目启动时候会查看哪个执行过哪个没执行。

flyway直接会往高版本迁徙。

 

flyway其他参考网址:

http://casheen.iteye.com/blog/1749916

http://shuzheng5201314.iteye.com/blog/2044517

 

分享到:
评论
1 楼 qiwei31229 2017-03-21  
楼主,你好问下,这种情况使用flyway要怎么处理,
假设用flyway执行脚本的时候,表设置了id唯一,但是插入的时候,如果id冲突了,脚本执行就会报错,要怎么处理?

相关推荐

    flyway-springboot.zip_springboot集成flyway数据库版本管理工具

    Flyway是基于Java的数据库版本管理工具,它允许你以SQL脚本的形式来管理数据库的结构变化。每次数据库的修改都可以被视为一个版本,这些版本按照时间顺序排列,确保了数据库的演变历史清晰有序。Flyway支持多种...

    flyway数据库版本管理

    Flyway是一款强大的开源数据库版本管理工具,它采用了“规约优于配置”的设计理念。这一理念强调的是通过预设的行为模式简化配置,减少错误的可能性,使开发者能够更加专注于业务逻辑而不是复杂的配置细节。Flyway的...

    数据库版本控制Flyway的demo

    Flyway是一个流行的开源工具,用于管理数据库版本,确保在多用户环境下数据库的一致性和完整性。本Demo将详细介绍如何使用Flyway进行数据库版本控制。 Flyway的核心概念是迁移(Migrations),每个迁移代表数据库的...

    flyway-4.0.3数据库执行工具

    1. **版本管理**:Flyway将每个数据库变更定义为一个特定的版本,按照升序执行。每个版本都有一个唯一的标识符,通常是一个数字,例如1.0、2.0等。版本号的顺序决定了迁移的执行顺序。 2. **迁移脚本**:Flyway支持...

    flyway 5.1.1-windows 数据库升级降级工具

    Flyway 是一个开源的数据库版本控制工具,专为管理数据库迁移而设计。它允许开发者以结构化和自动化的方式处理数据库的版本升级和降级,从而确保数据库与应用程序代码的同步。在本例中,我们讨论的是Flyway 5.1.1 的...

    SpringBoot整合flyway实现步骤解析

    Flyway是一个流行的数据库版本控制工具,它可以与SpringBoot框架集成,以实现自动化的数据库版本控制。在本文中,我们将详细介绍如何将Flyway与SpringBoot集成,实现数据库版本控制。 一、引入依赖 在使用Flyway...

    java版本控制(数据库版本控制)

    在IT行业中,数据库版本控制是至关重要的,尤其是在大型项目中,因为它们需要跟踪和管理数据库结构的变化,确保团队协作的顺畅以及数据的一致性。Java作为一种广泛应用的编程语言,提供了多种实现数据库版本控制的...

    SpringBoot整合Flyway的方法(数据库版本迁移工具)

    Flyway是一个开源的数据库版本管理工具,可以独立于应用实现管理并跟踪数据库的变更。Flyway根据自己的约定,不需要复杂的配置就可以实现数据的Migrate。Migrations可以写成SQL脚本,也可以写在Java代码中,Flyway还...

    SpringBoot项目中配置Flyway.docx

    Flyway是一款开源的数据库版本管理工具,它可以独立于应用实现并管理数据库变更,支持数据库版本自动升级。在Spring Boot框架中,默认封装了Flyway,只需要简单的配置就可以使用,其使用遵循Spring Boot框架的“约定...

    Flyway数据库迁移工具详解.docx

    通过这种方式,Flyway能有效解决数据库版本管理的问题,使得在不同环境间的数据库迁移变得更加有序和可靠。无论是新项目还是已有项目的后期集成,Flyway都能提供强大的支持,确保数据库的版本控制与代码保持一致,...

    谷粒学院项目的数据库文件

    10. **数据库版本控制**:随着项目的发展,数据库结构可能会发生变化,因此数据库版本控制工具(如 Liquibase 或 Flyway)的使用可以帮助跟踪和管理这些变化。 理解并掌握这些知识点,对于管理和维护谷粒学院的...

    SpringBoot项目集成Flyway进行数据库版本控制的详细教程

    Flyway是开源的数据库版本管理工具,它倾向于规约优于配置的方式。通过添加依赖项,我们可以使用Flyway的功能。 其次,需要在application.properties文件中添加Flyway的配置。FlywayProperties提供了多个参数来控制...

    flyway简单测试工程

    Flyway是一款强大的开源数据库版本管理工具,它使得数据库的迁移变得简单且有序。在“flyway简单测试工程”中,我们可以通过实践来理解其核心概念和工作流程,这对于数据库的开发和维护具有重要的意义。 数据库...

    分享微服务合并之多数据源整合(Dynamic Datasource)和Flyway对多数据源进行数据库脚本管理DEMO

    Flyway则是一款优秀的数据库版本管理工具,特别适合于多数据源环境。它通过SQL脚本来管理数据库结构的变化,使得数据库版本控制变得简单易行。Flyway的主要功能包括: 1. 版本控制:通过版本号管理数据库脚本,确保...

    SpringBoot集成Flyway.zip

    Flyway是一个流行的开源数据库迁移工具,它允许开发人员以有序的方式管理数据库版本,确保在多环境部署时的一致性。在SpringBoot应用中集成Flyway,可以自动化数据库版本升级,简化数据库维护流程。 首先,让我们...

    Spring Boot 集成 Flyway,数据库也能做版本控制,太牛逼了!(csdn)————程序.pdf

    Flyway是一个数据库版本控制工具,它的存在是为了让数据库的变化也能被跟踪和管理,类似于我们所熟知的Git或SVN这样的代码版本控制工具。传统上,数据库的变更往往需要人工维护和同步,这可能导致数据不一致的问题,...

    Java基础学习总结(183)—— Flyway 在项目中迁移数据实践.pdf

    Flyway是一款强大的数据库版本管理工具,它解决了上述问题,实现了数据库版本自动化管理。Flyway的基本原理是,开发者将每个数据库版本对应的DDL脚本存储在项目中。当项目在新环境中启动时,Flyway会自动创建一个元...

    各种数据库工具类

    此外,数据迁移工具,如Flyway和Liquibase,用于数据库版本控制和迁移。它们通过脚本或XML配置文件来管理数据库结构的变更,确保在不同环境间的一致性。 再者,性能监控和优化工具如JMeter、MySQL Profiler可以帮助...

    JavaWeb信息管理系统包含数据库脚本文件.zip

    在实际操作中,开发者可能会使用像Flyway或Liquibase这样的数据库版本控制工具来管理这些脚本,自动化数据库的版本升级和回滚。 总的来说,"JavaWeb信息管理系统包含数据库脚本文件.zip"是一个包含系统核心数据结构...

    Java_Flyway由Redgate数据库迁移变得容易.zip

    综上所述,Java Flyway通过Redgate的加持,为开发者提供了一个强大且易用的数据库迁移解决方案,使得数据库的版本管理和维护变得更加规范和高效。无论是在小型项目还是大型企业级应用中,它都是值得信赖的数据库管理...

Global site tag (gtag.js) - Google Analytics