![](/img/trans.png)
[英]Setup h2 in spring boot application with r2dbc and flyway
[英]Spring, H2, R2DBC and Liquibase: /.testdb.trace.db: Read-only file system
当尝试启动 Spring 引导应用程序进行测试(使用 H2 数据库)并配置 R2DBC 和 Liquibase 时,出现以下错误:
2022-10-04 12:50:18.893 INFO 57774 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 67 ms. Found 2 R2DBC repository interfaces.
org.h2.message.DbException: Log file error: "/.testdb.trace.db", cause: "java.nio.file.FileSystemException: /.testdb.trace.db: Read-only file system" [90034-214]
这是我的配置:
spring:
liquibase:
change-log: classpath:liquibase/db.changelog.xml
contexts: production
url: jdbc:h2:file:///./.testdb;MODE=MySQL
r2dbc:
url: r2dbc:h2:file:///./.testdb
h2:
console:
enabled: false
我能做些什么来修复这个错误吗?
问题是由 URL 引起的,R2DBC 要求它看起来像这样:
r2dbc:
url: r2dbc:h2:file:///./.testdb
但是,如果您尝试将其复制到 Liquibase 部分,则会出现错误。 要解决此问题,请从 Liquibase URL 中删除正斜杠:
spring:
liquibase:
change-log: classpath:liquibase/db.changelog.xml
contexts: production
url: jdbc:h2:file:./.testdb;MODE=MySQL
最终版本:
spring:
liquibase:
change-log: classpath:liquibase/db.changelog.xml
contexts: production
url: jdbc:h2:file:./.testdb;MODE=MySQL
r2dbc:
url: r2dbc:h2:file:///./.testdb
h2:
console:
enabled: false
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.