问题描述
我正在将Flyway用于我的Spring引导应用程序(与Oracle DB一起使用)。我有一个新的脚本,该脚本将创建带有数字字段的表格,例如:
CREATE TABLE ENGINEER (
...
SALARY NUMBER(*,2),...
);
我想用H2数据库调试应用程序,它将运行脚本。 H2文档说NUMBER(精度,小数位数)是有效的数据类型,但似乎不像Oracle那样支持精度。因此,当我运行脚本时无法成功运行,因此无法使用H2对其进行调试:
Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2020-08-21 18:19:47.026 ERROR 25932 --- [ main] o.s.boot.SpringApplication : Application run Failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'flywayInitializer' defined in class path resource [org/springframework/boot/autoconfigure/flyway/FlywayAutoConfiguration$FlywayConfiguration.class]: Invocation of init method Failed; nested exception is org.flywaydb.core.internal.command.DbMigrate$FlywayMigrateException:
Migration <file-name>.sql Failed
-------------------------------------------
sql State : 42001
Error Code : 42001
Message : Syntax error in sql statement "
CREATE TABLE ENGINEER(
...
SALARY NUMBER(*,...
)"; expected "long"; sql statement:
CREATE TABLE ENGINEER(
...
SALARY NUMBER(*,...
) [42001-200]
Location : sql/db/migration/v04/<file-name>.sql
Line : 1
有什么办法可以使迁移脚本像上面一样保留,但是仍然可以在任何时候使用H2进行调试?
谢谢
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)