Spring Boot 2.0 / Hibernate MySql Alter table 语法错误
Spring Boot 2.0 / Hibernate MySql Alter table syntax Error
使用 Spring Boot 2.0,当使用 属性 spring.jpa.hibernate.ddl-auto: update
时,hibernate 生成不正确的 alter table ddl 语句。在 Spring Boot 1.5.7 中运行良好。我尝试了各种 mysql 方言,但没有成功。
下面是正在生成的 sql 的示例:
alter table testDatabase.analyte_definition add column action_level decimal(8,2)
问题是数据库名称“testDatabase”被添加到 alter 语句前面。正确的语法是:
alter table analyte_definition add column action_level decimal(8,2)
终于知道这是怎么回事了。原来我的本地数据库名称中有一个句点,即;本地.prod20190319。将数据库名称更改为 local_prod20190319,问题就解决了。在数据库名称中使用句点在 SB 1.5.x 中有效,但在 SB 2.x 中无效。
使用 Spring Boot 2.0,当使用 属性 spring.jpa.hibernate.ddl-auto: update
时,hibernate 生成不正确的 alter table ddl 语句。在 Spring Boot 1.5.7 中运行良好。我尝试了各种 mysql 方言,但没有成功。
下面是正在生成的 sql 的示例:
alter table testDatabase.analyte_definition add column action_level decimal(8,2)
问题是数据库名称“testDatabase”被添加到 alter 语句前面。正确的语法是:
alter table analyte_definition add column action_level decimal(8,2)
终于知道这是怎么回事了。原来我的本地数据库名称中有一个句点,即;本地.prod20190319。将数据库名称更改为 local_prod20190319,问题就解决了。在数据库名称中使用句点在 SB 1.5.x 中有效,但在 SB 2.x 中无效。