Javers - 如何在Spring Boot中删除和创建Javers表?

时间:2017-09-09 12:49:30

标签: spring spring-boot javers

每次运行Spring Boot应用程序时,如何从头开始创建jv_snapshot等Javers表?

3 个答案:

答案 0 :(得分:1)

JaVers创建表,如果它们不存在,并且永远不会删除它们。在Hibernate中没有create-drop选项。对于测试,我们建议使用内存中的db(H2)并在新的空数据库实例上运行每个测试。

答案 1 :(得分:0)

是的,它会自动创建。

在此处查看演示: https://github.com/yhjhoo/javers-demo

答案 2 :(得分:0)

我遇到了同样的问题,因为我想使用postgres在我的开发环境中为Spring Boot应用程序的每次启动从JaVers中清除所有数据。

我在application.properties中进行如下设置:

spring:
  profiles: dev
  jpa:
    hibernate:
      ddl-auto: create-drop
  datasource:
    initialization-mode: always
    continue-on-error: true

由于initialization-mode现在处于活动状态,因此Spring boot将查看data.sql下的文件src/main/ressources并在其中运行SQL。

TRUNCATE jv_commit CASCADE;
TRUNCATE jv_commit_property CASCADE;
TRUNCATE jv_global_id CASCADE;
TRUNCATE jv_snapshot CASCADE;

即使表不存在,由于continue-on-error的设置,Spring Boot仍将启动。