Cyn*_*nan 9 h2 liquibase spring-boot
我使用 Spring Boot 2.6.8 和 Liquibase,效果很好。在生产环境中运行时,它与 MySQL 数据库一起使用。对于集成测试,我们针对内存数据库中的 H2 运行它。
自从升级到 SB 2.7.0(将 H2 v1.4.200 切换到 v2.1.212)后,Liquibase 就会失败,H2 会出现在内存数据库中。
Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'liquibase' defined in class path resource [org/springframework/boot/autoconfigure/liquibase/LiquibaseAutoConfiguration$LiquibaseConfiguration.class]:
Invocation of init method failed; nested exception is liquibase.exception.LiquibaseException: liquibase.exception.MigrationFailedException: Migration failed for change set changelog/0.3.0/tables/file_type.xml::1437572803912-1::bobd (generated):
Reason: liquibase.exception.DatabaseException: Syntax error in SQL statement "CREATE TABLE PUBLIC.FILE_TYPE (ID INT[*](10) GENERATED BY DEFAULT AS IDENTITY NOT NULL, NAME VARCHAR(45) NOT NULL, CONSTRAINT PK_FILE_TYPE PRIMARY KEY (ID))";
expected "ARRAY, INVISIBLE, VISIBLE, NOT, NULL, AS, DEFAULT, GENERATED, ON, NOT, NULL, AUTO_INCREMENT, DEFAULT, NULL_TO_DEFAULT, SEQUENCE, SELECTIVITY, COMMENT, CONSTRAINT, COMMENT, PRIMARY, UNIQUE, NOT, NULL, CHECK, REFERENCES, AUTO_INCREMENT, ,, )";
SQL statement: CREATE TABLE PUBLIC.FILE_TYPE (ID INT(10) GENERATED BY DEFAULT AS IDENTITY NOT NULL, NAME VARCHAR(45) NOT NULL, CONSTRAINT PK_FILE_TYPE PRIMARY KEY (ID)) [42001-212]
[Failed SQL: (42001) CREATE TABLE PUBLIC.FILE_TYPE (ID INT(10) GENERATED BY DEFAULT AS IDENTITY NOT NULL, NAME VARCHAR(45) NOT NULL, CONSTRAINT PK_FILE_TYPE PRIMARY KEY (ID))]
Run Code Online (Sandbox Code Playgroud)
现在 Liquibase 应该能够将我们的变更日志映射到 MySQL 或 H2(或任何其他数据库),对吗?所以我认为这是 Liquibase 无法正确支持 H2 v2.x 的问题?或者也许有一个我错过的属性现在需要设置?
TIA。
| 归档时间: |
|
| 查看次数: |
7789 次 |
| 最近记录: |