【问题标题】:How to load a H2 database into memory?如何将 H2 数据库加载到内存中?
【发布时间】:2013-09-03 11:16:32
【问题描述】:

我已经在嵌入式模式下使用 H2 编写了一组单元测试。测试对 DB 所做的任何更改都保留在那里。

我知道推荐的方法是创建一个空白的内存数据库,并在打开连接时创建架构。

但是我正在寻找一种替代方法。我愿意 -

  1. 使用嵌入式数据库文件初始化内存数据库。
  2. 或者使用嵌入式数据库,一旦连接关闭,所有更改都会被丢弃。

我怎样才能做到这一点?

【问题讨论】:

    标签: h2


    【解决方案1】:

    在与此类似的情况下,我所做的是编写创建数据库并填充表的 SQL 脚本。然后应用程序使用Flyway DB 应用数据库迁移。

    其他可能性是创建数据库并从 CSV 文件加载表。另一种是使用不同的应用程序创建数据库并使用 SCRIPT 命令创建文件以创建备份。您的主应用程序必须运行 RUNSCRIPT 命令来恢复数据库。

    【讨论】:

      【解决方案2】:

      我使用创建表和其他对象和/或填充它们的 SQL 脚本,并在应用程序开始时运行这些脚本。

      您还可以创建已填充的磁盘 DB 的副本,将其打包到 ZIP/JAR 存档中,然后将其打开 read only,用于重新创建和填充内存中的 DB。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-06-16
        • 2012-03-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-10-06
        • 1970-01-01
        相关资源
        最近更新 更多