测试 jpa ddl 类型

发布于 2024-10-16 20:03:34 字数 222 浏览 2 评论 0原文

我正在尝试运行一些测试,每次运行时都会清除数据库。我想这是由于我的 "test.jpa.ddl" 属性造成的。

当前代码:

%test.jpa.ddl=create-drop

是否只是删除这一行来解决问题?或者我需要设置另一个值? (我害怕再次测试并删除所有数据......)

I'm trying to run some tests and every time I run play it clears the database. I guess this is due to my "test.jpa.ddl" property.

Current code:

%test.jpa.ddl=create-drop

Is it just removing this line to solve the problem? Or do I need to setup another value? (I'm afraid of testing and remove all the data again...)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

泪冰清 2024-10-23 20:03:34

尝试设置值

test.jpa.ddl=none

假设您的 JPA 提供程序正在执行此操作。

或者,您可以使用 DBUnit 进行单元测试。在这种情况下,每次运行时它都会清除您的数据。除了保存数据并随后加载备份之外,确实没有其他方法可以解决这个问题。

Try setting a value of

test.jpa.ddl=none

That's assuming your JPA provider is doing that.

Alternatively, you could be using DBUnit to do unit tests. In that case, it will wipe out your data every time they are run. There really isn't a way around that other than saving your data and loading back up afterwards.

空心↖ 2024-10-23 20:03:34

这取决于您的测试模式的其他设置。默认情况下,数据库设置为内存中,因此这可能是您的问题。

另外,你使用Fixtures吗?如果不是,我强烈建议使用固定装置,因为它允许您在 YAML 文件中指定测试数据,并在每个测试周期开始时重新加载它,从而保证数据的一致性。

It depends on what your other settings are for your test mode. By default, the database is set up as in memory, so this may be your issue.

Also, are you using Fixtures? If you are not, I would highly recommend using fixtures as it allows you to specify your test data in a YAML file, and load it fresh at the start of every test cycle, which guarantees the consistency of your data.

妄司 2024-10-23 20:03:34

检查您是否使用 h2 db(默认情况下)。保留数据的最简单方法是注释此行:

数据库=内存

并将其更改为

db=fs

如果您使用独立数据库(如 mysql),那么您肯定需要转到“jpa.ddl”。正如其他人所说,将其更改为“无”。

Check whether you are using h2 db (it's by default). The simplest way to keep your data is comment this line:

db=mem

And change it to

db=fs

If you are using standalone database (like mysql), then you definitely need to go to "jpa.ddl". Change it to "none" as the others say.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文