以代码的形式实现flyway的迁移

摘要:
如果某个项目被另一个项目以jar包的形式依赖,此项目的flyway实现如下1packagecom.enmo.dbaas.firewall.common.config;23importorg.flywaydb.core.Flyway;4importorg.flywaydb.core.api.configuration.FluentConfiguration;5importorg.springfram

如果某个项目被另一个项目以jar包的形式依赖,此项目的flyway实现如下

1 packagecom.enmo.dbaas.firewall.common.config;
2 
3 importorg.flywaydb.core.Flyway;
4 importorg.flywaydb.core.api.configuration.FluentConfiguration;
5 importorg.springframework.stereotype.Component;
6 importcom.enmo.dbaas.firewall.common.utils.SpringContextProvider;
7 importlombok.extern.slf4j.Slf4j;
8 
9 /**
10 * @ClassName: FlywayConfig.java
11 * @Description:
12 * @Author guo.yu
13 * @Version V1.0.0
14 * @Date 2019-05-12 19:46:10
15  */
16 @Component
17 @Slf4j
18 public classFlywayConfig {
19 
20     private static final String FLYWAY_TAB_NAME = "dbaas_firewall_flyway_schema_history";
21     
22     private static final String FLYWAY_LOCATION = "db/firewall/migration";
23 
24     publicFlywayConfig(SpringContextProvider provider) {
25         Flyway defFlyway = null;
26         try{
27             defFlyway = provider.getBean(Flyway.class);
28         } catch(Exception e) {
29             log.warn("flyway is not enabled.");
30 }
31         if (defFlyway != null) {
32 firewallMigrate(defFlyway);
33 }
34 
35 }
36 
37     @SuppressWarnings("deprecation")
38     public voidfirewallMigrate(Flyway defFlyway) {
39         FluentConfiguration config = newFluentConfiguration();
40 
41 config.dataSource(defFlyway.getDataSource())
42 .baselineOnMigrate(defFlyway.isBaselineOnMigrate())
43 .locations(FLYWAY_LOCATION)
44 .table(FLYWAY_TAB_NAME)
45                //允许运行之前版本(相对于schema表最新版本)的schema文件
46                .outOfOrder(true)
47 .load()
48 .migrate();
49         
50         
51 }
52 
53 }

免责声明:文章转载自《以代码的形式实现flyway的迁移》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Prommetheus 插件监控 ESandroid studio中the logging tag can be most 23 characters下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

全网最详细的最新稳定OSSEC搭建部署(ossec-server(CentOS7.X)和ossec-agent(CentOS7.X))(图文详解)

OSSEC是一款开源的基于主机的入侵检测系统,可以简称为HIDS。它具备日志分析,文件完整性检查,策略监控,rootkit检测,实时报警以及联动响应等功能。详细的介绍和文档可以参考官网网站:http://www.ossec.net/环境本文中的环境极其简单,两台CentOS7虚拟机。CentOS7的安装详解服务端:  计算机名:ossec-server  I...

k8s集群上删除pod及service

删除k8s集群中的pod:找到pod的名称空间,并根据名称空间删除pod1。首先删除pod2,然后删除相应的部署。否则,删除pod是无用的。您还将看到pod,因为deployment.yaml文件中定义的副本数如下:delete the pod[root@test2~]#kubectlgetpod-njenkinsNAMEREADYSTATUSRESTART...

可用的rtmp互联网地址

Rtmp:vlc使用ffmpeg获取Rtmp网络流。代码文件路径:vlc-2.2.1 modulesassesavio。hvlc-2.2.1模块。c在模块的开放回调函数OpenAvio中,使用以下代码打开rtmp网络流。avio_打开(&avio_FLAG_READ);//或者这个avio_open2(&sys-&gt...

echarts折线图 鼠标移入改变小点显示样式

=undefined){res+=nameList[i].seriesName+':'+nameList[i].data+'%'+''}}res=res.split;returnres[0]+''+res[1];}}echarts折线图的鼠标移动上去小点显示样式修改tooltip:{trigger:'axis',formatter:function{varr...

Json对象转Ts类

其次,Json是一种轻量级的数据交换格式。在前端和后端之间的数据交互过程中,后端接口返回Json格式的数据,前端需要使用相应的Ts类对象来接收它。此时,如果后端提供样本数据或现有接口返回的Json格式数据,是否有方法帮助我们从Json格式数据生成Ts类?介绍了三个主要功能。1.查看Json对应的Ts类,将要格式化的Json字符串复制粘贴到中间编辑区域。单击右...

jquery跨域请求数据

Jquery跨域请求数据Jquery跨请求数据。事实上,这很容易。请遵循以下步骤:首先,编写js,通过get获取远程数据。请注意,回调参数应添加在链接之后,这意味着将回调函数地址传输到远程页面。',{params},函数cb{alert;alert;},'json');第二:编写处理程序。publicvoidProcessRequest{context.Re...