我正在将spring引导从2.2.x升级到2.7.5。现有迁移中有一个在测试期间失败。
changelog.v1.mysql.sql
ALTER TABLE my_table CHANGE column `OLD_COLUMN` `NEW_COLUMN` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '';旧H2版本:1.4.197新H2版本:2.1.214
Caused by: org.h2.jdbc.JdbcSQLSyntaxErrorException: Syntax error in SQL statement "ALTER TABLE my_table CHANGE column `OLD_COLUMN` `NEW_COLUMN` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci [*]NOT NULL DEFAULT ''"; SQL statement:
ALTER TABLE my_table CHANGE column `OLD_COLUMN` `NEW_COLUMN` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' [42000-214]application.properties (测试)
spring.datasource.url=jdbc:h2:mem:system42;MODE=MySQL;NON_KEYWORDS=value
spring.jpa.database-platform=org.hibernate.dialect.H2Dialect将查询更改为
ALTER TABLE my_table CHANGE column `OLD_COLUMN` `NEW_COLUMN` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '';至
ALTER TABLE my_table CHANGE column `OLD_COLUMN` `NEW_COLUMN` varchar(255) NOT NULL DEFAULT '';发布于 2022-11-21 09:37:41
您可以使用VARCHAR_IGNORECASE(255)。
H2参考指南
https://stackoverflow.com/questions/74514420
复制相似问题