【问题标题】:Backup embedded database (H2)备份嵌入式数据库(H2)
【发布时间】:2016-01-22 12:10:49
【问题描述】:

我正在使用Spring-bootJpa 创建一个网络应用程序。一切正常。但是在测试期间,我必须手动创建对象实例并为每个测试填充数据库。我想知道是否可以备份嵌入式数据库并在每次测试开始时恢复它,从而释放测试代码中的混乱。

【问题讨论】:

    标签: spring-boot h2 database-backups


    【解决方案1】:

    H2 允许您使用script to 创建 SQL 脚本。然后,您可以在打开连接时运行 SQL 脚本,方法是将 init=... 附加到数据库 URL。

    【讨论】:

      【解决方案2】:

      最好(也是最简单的方法)是使用 Spring 嵌入式数据库 + SQL 脚本来预加载您的数据库。 this answer 中描述了一种简单的方法。

      一篇很好的文章展示了每个测试的人口(以及整个设置):Setup and preload database for spring integration/functional tests

      【讨论】:

        【解决方案3】:

        Spring Boot 有几种初始化数据库的机制,最简单的一种可以说是via Spring JDBC。您需要做的就是创建一个名为 data-test.sql 的文件(假设您的测试配置文件名为“test”)并通过其中的普通 SQL 插入定义所有数据。

        【讨论】:

          猜你喜欢
          • 2011-01-03
          • 2017-03-05
          • 1970-01-01
          • 2022-01-20
          • 2012-10-22
          • 2018-06-13
          • 2017-10-06
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多