当前位置: 首页 > news >正文

资源网站平台建设方案网站必须兼容哪些浏览器

资源网站平台建设方案,网站必须兼容哪些浏览器,网站建设企业战略,做废品推广哪个网站好文章目录 flyway适配高斯数据库 flyway适配高斯数据库 flyway-core 源码版本:6.2.2 tag 由于高斯和postgresql使用的驱动都是一样的,所以基于flyway支持已有的postgresql数据库来改造 修改点如下: 1、PostgreSQLConnection 类中的 doRest…

文章目录

  • flyway适配高斯数据库

flyway适配高斯数据库

  • flyway-core 源码版本:6.2.2 tag

  • 由于高斯和postgresql使用的驱动都是一样的,所以基于flyway支持已有的postgresql数据库来改造

  • 修改点如下:

1、PostgreSQLConnection 类中的 doRestoreOriginalState 方法

  • 方法作用:将数据库连接的角色(role)重置为其原始值,确保在迁移或回调过程中更改的角色被还原回初始状态,在Flyway的设计中,可能会在迁移或回调期间更改数据库连接的角色,以满足特定需求。为了保证不同迁移之间的一致性,当完成迁移或回调时,需要将角色重置为初始状态,以免对后续迁移或操作产生影响

  • 把这个方法体注释掉,经测试高斯和postgresql均无影响。由于 postgresql 和 高斯 之间对设置 role 语法之间的差异,高斯数据库 set 角色时还需要带上密码,而postgresql则不用,如:

postgresql: SET ROLE xxx 
gaussDB: SET ROLE xxx PASSWORD xxx

2、PostgreSQLDatabase 类中的 ensureSupported 方法

  • 方法作用:确保数据库与当前使用的Flyway版本兼容,并提供相应的建议或推荐操作
@Override
public final void ensureSupported() {// 检查数据库版本不低于 9.0ensureDatabaseIsRecentEnough("9.0");// 检查数据库是否高于指定版本,并且推荐升级到某个特定的Flyway版本(在6.2.2源码中为9.4版本)。如果数据库版本较旧,并且与所需的Flyway版本不兼容,将给出相应的建议ensureDatabaseNotOlderThanOtherwiseRecommendUpgradeToFlywayEdition("9.4", org.flywaydb.core.internal.license.Edition.ENTERPRISE);// 检查数据库是否需要升级到指定的主要版本,如果数据库的版本低于指定版本,给出升级Flyway的建议recommendFlywayUpgradeIfNecessaryForMajorVersion("12");
}
  • 高斯数据库是基于 postgresql 9.2 改造的,在 flyway 中是不支持的,所以降低源码中给出的版本,否则就会报推荐升级数据库的版本或者使用 Flyway Teams Edition,Flyway Teams Edition 可以支持 postgresql 9.2,这个是企业版要收费的
ensureDatabaseNotOlderThanOtherwiseRecommendUpgradeToFlywayEdition("9.0", org.flywaydb.core.internal.license.Edition.ENTERPRISE);

3、PostgreSQLDatabase 类中的 getRawCreateScript 方法

  • 方法作用:生成创建数据库表的原始SQL脚本字符串,用于存储迁移历史记录,就是生成 flyway_scheme_history
  • 高斯数据库执行时创建 flyway_scheme_history 表会丢失 checksum 的值,导致最后执行不了指定文件夹的脚本语句,把这个方法执行的逻辑调整下
@Override
public String getRawCreateScript(Table table, boolean baseline) {//todo 这里高斯会创建一条空的baseline记录,调整下执行逻辑String tablespace = configuration.getTablespace() == null? "": " TABLESPACE \"" + configuration.getTablespace() + "\"";String createTableScript = "CREATE TABLE " + table + " (\n" +"    \"installed_rank\" INT NOT NULL,\n" +"    \"version\" VARCHAR(50),\n" +"    \"description\" VARCHAR(200) NOT NULL,\n" +"    \"type\" VARCHAR(20) NOT NULL,\n" +"    \"script\" VARCHAR(1000) NOT NULL,\n" +"    \"checksum\" INTEGER,\n" +"    \"installed_by\" VARCHAR(100) NOT NULL,\n" +"    \"installed_on\" TIMESTAMP NOT NULL DEFAULT now(),\n" +"    \"execution_time\" INTEGER NOT NULL,\n" +"    \"success\" BOOLEAN NOT NULL\n" +")" + tablespace + ";\n";if (baseline) {return createTableScript +"ALTER TABLE " + table + " ADD CONSTRAINT \"" + table.getName() + "_pk\" PRIMARY KEY (\"installed_rank\");\n" +"CREATE INDEX \"" + table.getName() + "_s_idx\" ON " + table + " (\"success\");";} else {return createTableScript;}
}

使用说明:

  1. 源码修改完成后,重新打包,为了不跟本地仓库原有的artifactId坐标有冲突,可以更改 artifactId 为其他名

  2. 其他配置和使用和 postgresql 是一样的

  flyway:baseline-on-migrate: true# 高斯配置url: jdbc:postgresql://xxx:8123/flyway_testuser: xxxpassword: xxx
http://www.yayakq.cn/news/199635/

相关文章:

  • 怎么做网站劳务中介wordpress资讯自媒体中文主题
  • 河南省住房建设厅官方网站如何做网站地图txt
  • 网站建设轮播图app制作费用多少钱
  • 大连网站设计团队长沙网站制作一般多少钱
  • 深圳家居网站建设公司排名域名注册地址查询
  • 网络营销效果好的网站河北住房和城乡建设厅网站6
  • 网站界面设计的分类有哪几种网站建设方案 云盘
  • 室内平面图在线制作网站深圳搜索引擎优化seo
  • 门户网站需要哪些人wordpress.app
  • 深圳网站建设培训外汇期货喊单网站怎么做的
  • 网站制作公司哪家好一点有做微信婚介网站的吗
  • 盐城专业做网站的公司东莞房价2023最新价格
  • 郑州专业网站制作服务报价互联网营销有哪些方式
  • 东圃做网站公司企业信用公示信息网官网贵州
  • dedecms5.7装饰公司网站模板3d建模师未来发展前景
  • 网站备案 复查dz仿网站头部
  • 网站源码建站视频wordpress 守望轩
  • 深圳百度推广网站建设西宁网站制作多少钱
  • 找外包做网站要多久万维网站建设
  • 怎么用ftp工具上传网站源码网站建设入门解读
  • 做网站暴利成都网站设计公司官网
  • 网站开发费会计分录seo快速排名软件推荐
  • 服务网站建设的公司flash布局网站
  • 网站做线支付平台系统多少钱怎样制作做实景的网站
  • 网站后台优化wordpress 获取文章标签
  • 建设一个购物网站需要什么意思培训机构的网站建设
  • 网站建设的市场策划外包公司值得去吗
  • 怎么做网站外贸78建筑人才网
  • 淄博网站搭建公司东莞做好网络推广
  • 企业建设网站的步骤是什么?网站规划建设方案模板