我使用Spring Boot(2.0.4.RELEASE),Flyway(5.1.4)和MySql(8.0.13)作为数据库。当我尝试运行一个简单的脚本通过添加新列并使它不为空来修改表时,得到DbMigrate$FlywayMigrateException
。在这里:
alter table account add login_id_type_ varchar(255);
update account set login_id_type_='${loginIdType}';
alter table account modify login_id_type_ varchar(255) not null;
${loginIdType}
的值为“ USERNAME”。当我尝试在数据库客户端中执行它时,所有语句都通过了(脚本运行正常),但是当用Flyway执行时,我得到:
SQL State : 42000
Error Code : 1064
alter table account modi' at line 1
我使用:
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL57Dialect
我也尝试过:
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL8Dialect
,但错误仍然存在。