我有一个JHipster应用程序,在prod配置文件中使用Postgresql DB,在dev配置文件中使用H2 DB。我的Postgresql模式有JSONB列,我正在JPA中使用弗拉德(氏) JsonTypeDescriptor处理这些列,postgresql的liquibase按预期的方式工作。它在postgres模式中创建类型为jsonb的表。
但是,IT测试用例失败时会出现从Could not create bean with name 'LiquibaseConfiguration'开始的各种异常。然后通过unkown data type JSONB传播
我理解H2不支持JSONB列。我正在寻找一种方法来运行集成测试用Postgresql 生成的Jhipster案例。
如果所有这些都是可能的,即使用Postgresql的测试DB配置来运行测试用例,那么我需要更改的properties是什么才能使用postgres运行测试?
我尝试了各种更改组合,包括更改pom.xml、application-dev-h2db.yml、WebConfigurer.java等,但似乎没有什么效果。要么不支持驱动程序,要么不支持JSONB。
为了从H2迁移到用于测试用例的Postgresql DB,我需要更改一组属性/类。
提前谢谢。
发布于 2019-08-16 14:12:43
你的问题有两部分:
对于dev,将您的.yo-rc.json文件复制到一个空目录中,编辑它以将"devDatabaseType":属性更改为"postgresql",使用jhipster命令生成项目,与您自己的项目进行比较并对其进行调整。
对于测试,它需要更多的工作,更改src/test/resources/application.yml中的属性。此外,您可能希望使用TestContainers在docker中运行postgresql。请参阅https://github.com/intesys/generator-jhipster-testcontainers
https://stackoverflow.com/questions/57524163
复制相似问题