当前位置: 首页 > 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/96449/

相关文章:

  • 查建设标准网站wordpress 分页
  • 网站如何做微信支付宝支付宝支付接口中国网站备案信息查询
  • 泉州建网站wordpress不用帐号
  • 中国空间站研究项目产品销售网站模块如何设计
  • 潜山做网站a站播放量最高的视频
  • 电商网站 收费与免费韶关网站设计公司
  • 魔立方 网站建设西安建设教育网站
  • 怎么优化网站关键词的方法个人信息查询
  • 大型网站建设行情做西点网站
  • 嘉定专业做网站推荐几个安全没封的网站2021
  • 制作一个app需要什么技术重庆seo博客
  • 可以做水印的网站敖汉旗住房和城乡建设局网站
  • 莒县网站设计设计师培训机构有哪些
  • 广东企业网站建设推荐济南seo网站建站
  • 顺德网站建设市场如何做微信个人网站
  • 电子商务网站建设的实训心得为什么选择做游戏网站
  • 织梦网站如何做301跳转做物流用哪个网站好
  • 代刷网站app制作教程出口网站有哪些
  • 邵阳县做网站公司简介模板免费word简易
  • 网站建设外包工作房地产最新消息三个不低于
  • 产品设计作品网站重庆网站seo方法
  • 湖南省网站备案响应式网站怎么做才实用
  • 如何给自己建设的网站设置登陆用户名和密码新加坡二手手机网站大全
  • 宝安网站建设信科免费带管理后台的网站
  • 东莞建设网站推广公司地址潍坊企业免费建站
  • p2p 金融网站开发造一个官方网站
  • 金坛市建设银行网站中国建筑证书查询平台
  • 西安论坛网站制作维护佛山网站建设公司哪家性价比高
  • 网页制作网站建设没有数据库的网站
  • 网站做优化有什么好处酒店网页设计模板图片