【发布时间】:2018-04-20 08:34:12
【问题描述】:
我想现在在开发过程中使用一个 RDBMS 并在生产中使用另一个 RDBMS 是很常见的。我想在开发中使用 H2,在生产中使用 MariaDB,用于基于 Spring Boot 和 JOOQ 的应用程序。
是否有一些聪明的方法可以使生成的相同 JOOQ 代码在开发和生产环境中都工作,或者我是否需要根据目标环境生成两组代码?如果后者是真的,如何以理智的方式做到这一点,例如使用nu.studer.jooq gradle 插件?
每当我尝试对 MariaDB 服务器使用从 H2 数据库生成的源时,都会引发此类异常:
org.mariadb.jdbc.internal.util.dao.QueryException: SELECT command denied to user 'foo'@'localhost' for table 'FOO'
Query is: select `PUBLIC`.`FOO`.`ID`, `PUBLIC`.`FOO`.`NAME`, `PUBLIC`.`FOO`.`INFO` from `PUBLIC`.`FOO`
我对 H2 和 MariaDB 使用相同的 flyway 初始化/迁移脚本。
【问题讨论】:
标签: spring-boot mariadb h2 spring-jdbc jooq