zoukankan      html  css  js  c++  java
  • 数据库版本管理工具flyway

    引入flyway_core  jar包

    java 代码实现

    public class FlywayMigration {

      @Resource
      private DataSource dataSource;

    public void setDataSource(DataSource dataSource) {
      this.dataSource = dataSource;
    }

    public void migration() {
      Flyway flyway = new Flyway();
      flyway.setDataSource(dataSource);

      flyway.setInitOnMigrate(true);

      flyway.setTable("schemas_version");// 设置存放flyway metadata数据的表名

      // 设置flyway扫描sql升级脚本,java升级脚本的目录路径或包路径
      flyway.setLocations("database", "com.navinsight.holoviewer.back.transverse.util");

      flyway.setEncoding("UTF-8");// 设置sql脚本文件的编码

      flyway.setValidateOnMigrate(true); // 设置执行migrate操作之前的validation行为

      try {
      flyway.migrate();
      } catch (Exception e) {
      flyway.repair();
      e.printStackTrace();
      }

      }

    }

    sql文件命名规范:V+版本号+两个_+描述+.sql

     

    在Spring 中根据上面实现的类来定义(实例化)一个bean

    <bean id="flywayMigration" class="com.kedacom.flywaydemo.FlywayMigration" init-method="migrate">
    	<property name="dataSource" ref="dataSource" />
    </bean>

    如果启动有问题,可以设置:

    <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate" depends-on="flywayMigration">
    	<property name="dataSource" ref="dataSource" />
    </bean>
    
    <bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager" depends-on="flywayMigration">
    	<property name="dataSource" ref="dataSource" />
    </bean>
  • 相关阅读:
    MySQL数据库的安装与配置
    java中的反射机制
    详谈设计模式之单列模式
    servlet内部转发与重定向
    servlet基础语句总结
    Servlet映射的俩种方法以及优缺点
    eclipse和idea的快捷键比较及idea如何调节eclipse的快捷键
    servlet
    JDK下载与安装教程
    正则表达式查询
  • 原文地址:https://www.cnblogs.com/lwmp/p/6236594.html
Copyright © 2011-2022 走看看