备份嵌入式数据库(H2)

时间:2015-10-23 02:59:01

标签: spring-boot h2 database-backups

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

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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

显示每次测试人口(以及整个设置)的非常好的文章是:Setup and preload database for spring integration/functional tests

答案 2 :(得分:0)

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