java - 如何在现有的 JHipster 应用程序中从 H2 DB 迁移到 Postgresql?
问题描述
我有一个JHipster
应用程序在配置文件中使用Postgresql
数据库,在配置prod
文件中使用数据库。我的模式有列,我正在使用vlad 的 JsonTypeDescriptor
The for按预期工作。它在 postgres 模式中创建表,类型为H2
dev
Postgresql
JSONB
JPA
liquibase
postgresql
jsonb
但是,IT 测试用例会失败,并出现以Could not create bean with name 'LiquibaseConfiguration'
. 然后通过传播unkown data type JSONB
我了解H2不支持JSONB列。我正在寻找的是一种运行由Jhipster使用Postgresql db生成的集成测试用例的方法。
如果这一切都是可能的,即使用 Postgresql 的测试数据库配置运行测试用例properties
,我需要更改什么才能使用 运行测试postgres
?
我尝试了各种更改组合,包括更改pom.xml
,等application-dev-h2db.yml
,WebConfigurer.java
但似乎没有任何效果。驱动程序不受支持,或者JSONB
不受支持。
我需要一组属性/类,我需要更改这些属性/类才能从H2迁移到Postgresql DB for Test Cases。
提前致谢。
解决方案
你的问题有两个部分:
- 如何在开发中使用 postgresql
- 如何在单元测试中使用 postgresql
对于dev,将.yo-rc.json
文件复制到一个空目录,编辑它以将“devDatabaseType”:属性更改为“postgresql”,使用jhipster
命令生成项目,与您自己的项目进行比较并进行调整。
对于测试,它需要更多的工作,更改 src/test/resources/application.yml 中的属性。此外,您可能希望使用 TestContainers 在 docker 中运行 postgresql。见https://github.com/intesys/generator-jhipster-testcontainers
推荐阅读
- java - poi xwpf 解析器中是否有 mc:AlternateContent 和 Mc:Fallback 支持?
- django - 升级 Django Channels 应用的 Heroku Redis 版本后,Websocket 立即断开连接
- c# - 如何将带有子模型列表的模型从 Razor .net Core 传递给控制器
- openstack - Openstack Keystone 安装问题
- javascript - Artillery WebSocket 自定义函数
- node.js - 如何使用 axios 从 api 获取数据
- sql - 按具有 2 个不同值的两行数据汇总/分组
- c++ - 如何增加位图像素大小?
- mysql - 如何捕获事件 X 的日期,然后捕获事件 X 之后发生的事件的日期
- sql - 为什么我不断收到此错误:SQL 命令未正确结束以插入值?