如何在 <table> <user> H2(使用 Spring Boot)中为 Postgresql 执行 ALTER TABLE OWNER?



我有一个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>

如果您正在使用其他第三方库来填充,我相信有类似的方法来分离它们。

相关内容

  • 没有找到相关文章

最新更新