Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用postgresql initdb创建临时数据库?_Java_Postgresql_Integration Testing_Jboss Arquillian_Postgresql Initdb - Fatal编程技术网

Java 如何使用postgresql initdb创建临时数据库?

Java 如何使用postgresql initdb创建临时数据库?,java,postgresql,integration-testing,jboss-arquillian,postgresql-initdb,Java,Postgresql,Integration Testing,Jboss Arquillian,Postgresql Initdb,如何使用initdb为PostgreSQL创建临时数据库?另外,如何使用虚拟数据填充它,以及如何在使用后删除它 我有一个完整的数据库模式。我不想一个接一个地创建临时表。使用initdb,我希望能够给出模式并获得一个包含表的数据库,等等 这用于运行spring引导应用程序的集成测试。我使用mybatis访问数据库 我可以使用像arquillian这样的任何其他工具吗?有一种解决方法,只要将数据目录更改为RAM文件系统,就像这样,一旦重新启动计算机,数据就会消失。最好不要更改脚本中的任何内容。看看H

如何使用
initdb
为PostgreSQL创建临时数据库?另外,如何使用虚拟数据填充它,以及如何在使用后删除它

我有一个完整的数据库模式。我不想一个接一个地创建临时表。使用
initdb
,我希望能够给出模式并获得一个包含表的数据库,等等

这用于运行spring引导应用程序的集成测试。我使用mybatis访问数据库


我可以使用像arquillian这样的任何其他工具吗?

有一种解决方法,只要将数据目录更改为RAM文件系统,就像这样,一旦重新启动计算机,数据就会消失。最好不要更改脚本中的任何内容。

看看H2数据库。Postgres中没有“临时数据库”这样的东西。initdb创建一个完整的“集群”(也称为“实例”),而不是一个数据库。如果需要临时表,只需运行必要的
create temporary table
statements@Zorglube . 我不知道有多少这样的东西。@horse没有名字,至少应该有一种方法来模拟临时数据库的场景。@tarunmagni,你不能用H2完全模拟PostgresSQL。为了进行一些数据库模拟,我建议您使用JUnit
JUnit
()+
H2
()+
DBSetup
()或
DBUnit
();这可能不是最好的软件包,但它是一个有效的软件包。你说的“最好不要更改脚本中的任何内容”是什么意思。我可以在CI中这样做吗?这似乎是一个相当危险的解决方案,但为什么不呢。最后数据库将在RAM中。我的意思是“更好的…脚本”,即您不会更改创建表的脚本和向其中插入数据的脚本。这个用例只是用于测试,CI是关于测试的。