【问题标题】:How to migrate from H2 DB to Postgresql in an existing JHipster application?如何在现有的 JHipster 应用程序中从 H2 DB 迁移到 Postgresql?
【发布时间】:2019-12-22 18:00:39
【问题描述】:

我有一个JHipster 应用程序,在prod 配置文件中使用Postgresql DB,在dev 配置文件中使用H2 DB。 我的Postgresql 架构有JSONB 列,我正在使用JPA 处理vlad's JsonTypeDescriptor liquibase for postgresql 按预期工作。 它在 postgres 模式中创建表,类型为 jsonb

但是,IT 测试用例会因各种以Could not create bean with name 'LiquibaseConfiguration' 开头的异常而失败。 然后通过unkown data type JSONB传播

我了解 H2 不支持 JSONB 列。 我正在寻找一种方法来运行 Jhipster 使用 Postgresql db 生成的 集成测试 案例。

如果这一切都是可能的,即使用 Postgresql 的测试数据库配置运行测试用例,我需要更改什么 properties 才能使用 postgres 运行测试?

我尝试了各种更改组合,包括更改 pom.xmlapplication-dev-h2db.ymlWebConfigurer.java 等,但似乎没有任何效果。 驱动程序不受支持,或者JSONB 不受支持。

我需要更改一组属性/类,以便从 H2 迁移到 Postgresql DB for Test Cases。

提前致谢。

【问题讨论】:

    标签: java jhipster h2 liquibase jsonb


    【解决方案1】:

    您的问题分为两部分:

    1. 如何在开发中使用 postgresql
    2. 如何在单元测试中使用 postgresql

    对于dev,将你的.yo-rc.json文件复制到一个空目录,编辑它以将“devDatabaseType”:属性更​​改为“postgresql”,使用jhipster命令生成项目,与你自己的项目进行比较并进行调整。

    对于测试,它需要更多的工作,更改 src/test/resources/application.yml 中的属性。此外,您可能希望使用 TestContainers 在 docker 中运行 postgresql。见https://github.com/intesys/generator-jhipster-testcontainers

    【讨论】:

      猜你喜欢
      • 2019-06-23
      • 2022-12-12
      • 1970-01-01
      • 1970-01-01
      • 2023-03-23
      • 2018-09-14
      • 2012-08-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多