Spring 启动 - MySQL 默认使用 InnoDB
Spring Boot - MySQL use InnoDB as default
我想用 InnoDB 创建我的数据库 tables,我使用的是 Spring Boot 2.1.3 和 MySQL 8.0,所以我使用了这个:
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL8Dialect
是的,它有效,但我的控制台出现了很多错误:
2019-04-03 19:11:55.182 INFO 1820 --- [ restartedMain] org.hibernate.dialect.Dialect : HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect
2019-04-03 19:11:55.966 WARN 1820 --- [ restartedMain] o.h.t.s.i.ExceptionHandlerLoggedImpl : GenerationTarget encountered exception accepting command : Error executing DDL "alter table application drop foreign key FKldca8xj6lqb3rsqawrowmkqbg" via JDBC Statement
org.hibernate.tool.schema.spi.CommandAcceptanceException: Error executing DDL "alter table application drop foreign key FKldca8xj6lqb3rsqawrowmkqbg" via JDBC Statement
我每个 table:
Caused by: java.sql.SQLSyntaxErrorException: Table 'test.usr' doesn't exist
"test.usr" -> "test" 是我的架构名称,"usr" 是 table 名称。
但它仍然会创建我所有的 table,那么我怎样才能摆脱这个错误呢?
正如 Antoniosss 所建议的,我刚刚使用 Flyway 来处理我的数据库。谢谢。
我想用 InnoDB 创建我的数据库 tables,我使用的是 Spring Boot 2.1.3 和 MySQL 8.0,所以我使用了这个:
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL8Dialect
是的,它有效,但我的控制台出现了很多错误:
2019-04-03 19:11:55.182 INFO 1820 --- [ restartedMain] org.hibernate.dialect.Dialect : HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect
2019-04-03 19:11:55.966 WARN 1820 --- [ restartedMain] o.h.t.s.i.ExceptionHandlerLoggedImpl : GenerationTarget encountered exception accepting command : Error executing DDL "alter table application drop foreign key FKldca8xj6lqb3rsqawrowmkqbg" via JDBC Statement
org.hibernate.tool.schema.spi.CommandAcceptanceException: Error executing DDL "alter table application drop foreign key FKldca8xj6lqb3rsqawrowmkqbg" via JDBC Statement
我每个 table:
Caused by: java.sql.SQLSyntaxErrorException: Table 'test.usr' doesn't exist
"test.usr" -> "test" 是我的架构名称,"usr" 是 table 名称。
但它仍然会创建我所有的 table,那么我怎样才能摆脱这个错误呢?
正如 Antoniosss 所建议的,我刚刚使用 Flyway 来处理我的数据库。谢谢。