我有一个Spring Boot应用程序与Aurora (Postgresql) DB,我想添加JPA测试。我们有Flyway设置和我们的DDL脚本在src/main/resources/...
的一个文件夹中。
我连接H2,但我得到一个语法错误与ALTER TABLE。看起来H2没有ALTER TABLE <table> OWNER to <user>
命令。
有没有人见过这个或者知道一个聪明的方法来绕过这个?
Caused by: org.h2.jdbc.JdbcSQLSyntaxErrorException: Syntax error in SQL statement "ALTER TABLE <table> [*]OWNER to <user>"; expected "ADD, SET, RENAME, DROP, ALTER"; SQL statement:
ALTER TABLE <table> OWNER to <user> [42001-212]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:502)
这两个DBMS之间的SQL是不同的。你可以通过不同的执行路径将它们分开(假设你使用的是liquidbase脚本)
<changeSet id="pg-***" dbms="postgresql">
content
</changeSet>
<changeSet id="h2-***" dbms="h2">
content
</changeSet>
如果您正在使用其他第三方库来填充,我相信有类似的方法来分离它们。