3

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

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

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

  1. 使用嵌入式数据库文件初始化内存数据库。
  2. 或者以一种在连接关闭后立即丢弃所有更改的方式使用嵌入式数据库。

我怎样才能做到这一点?

4

2 回答 2

1

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

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

于 2013-09-04T13:34:49.460 回答
0

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

还可以创建已填充的磁盘数据库的副本,将其打包到 ZIP/JAR 存档中,然后以只读方式打开它,用于重新创建和填充内存数据库。

于 2017-03-16T15:15:17.083 回答