• 简体中文
  • 数据库配置

    Firmiana 使用内嵌 H2 数据库,通过 Flyway 管理 Schema。

    数据源配置

    datasources:
      default:
        url: jdbc:h2:./data/matrix;DB_CLOSE_DELAY=-1
        driver-class-name: org.h2.Driver
        username: sa
        password: ""
        schema-generate: NONE
        dialect: H2

    环境变量覆盖

    变量默认值说明
    DB_URLjdbc:h2:./data/matrix;DB_CLOSE_DELAY=-1JDBC URL
    DB_USERNAMEsa数据库用户名
    DB_PASSWORD(空)数据库密码

    H2 模式

    文件模式(生产默认)

    h2:
      mode: file
      path: ./data/matrix

    数据持久化到 ./data/matrix.mv.dbDB_CLOSE_DELAY=-1 参数在 JVM 运行期间保持数据库打开。

    内存模式(测试)

    h2:
      mode: mem

    或覆盖数据源 URL:

    jdbc:h2:mem:testdb;DB_CLOSE_DELAY=-1

    JVM 停止时数据丢失。在测试类中使用 @Property(name = "datasources.default.url", value = "jdbc:h2:mem:testdb")

    连接池

    HikariCP 管理连接池:

    属性默认值说明
    h2.pool-size10最大连接数
    h2.max-lifetime1800000最大连接生命周期(毫秒)

    H2 Web 控制台

    H2 Web 控制台默认禁用:

    h2:
      web-console: false
      web-console-port: 8082

    在开发环境中启用:

    h2:
      web-console: true

    访问 http://localhost:8082,JDBC URL 为 jdbc:h2:./data/matrix

    旧版 Schema 初始化器

    H2SchemaInitializer 包含完整的 DDL 但默认禁用:

    h2:
      schema-initializer:
        enabled: false  # 使用 Flyway 替代

    它作为参考和向后兼容保留。始终优先使用 Flyway 迁移。

    数据目录

    数据库文件位于 ./data/matrix(已 gitignore)。过期的本地状态可能影响手动测试。重置方法:

    rm -rf data/matrix*
    Warning

    删除数据库文件会移除所有数据。重置前请备份。