1

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

我有数据库的整个架构。我不想一个一个地创建临时表。使用initdb,我希望能够给出该模式,并获得一个数据库的表,etcetera创建。

这是用于运行春季启动应用程序的集成测试。我使用mybatis来访问数据库。

我可以使用任何其他工具一样的Arquillian?

+0

了解有关H2数据库的信息。 – Zorglube

+1

在Postgres中没有这样的“临时数据库”。 initdb创建一个完整的“集群”(又名“实例”),而不是数据库。如果你想临时表,然后只需运行所需的'创建临时table'声明 –

+0

@Zorglube [H2的PostgreSQL的模式局限](https://stackoverflow.com/questions/38869723/h2-and-postgresql-compatibility-mode-limitations )。我不知道有多少这样的事情。 –

回答

1

有一个变通方法这一点,只是改变了数据目录RAM文件系统,这样一旦你重新启动计算机,数据已经一去不复返了。更好的是你不会改变脚本中的任何东西。

+0

你是什么意思“更好,你不会改变你的脚本中的任何东西”。我可以在CI中这样做吗? –

+0

这似乎是一个相当危险的解决方案,但为什么不。最后,数据库将在RAM中。 – Zorglube

+0

我的意思是“更好的...脚本”,你不会改变创建你的表的脚本,也不会将数据插入到脚本中。这个用例仅仅用于测试,CI是关于测试的。 –