代码之家  ›  专栏  ›  技术社区  ›  zjffdu

如何在Spring引导的JPA中自动删除数据并重新创建一个表

  •  0
  • zjffdu  · 技术社区  · 3 年前

    我想在我的本地env中进行测试,但我想总是删除数据,并在spring-boot的JPA中重新创建一个表(只有一个表,而不是所有表),我如何实现这一点?谢谢

    0 回复  |  直到 3 年前
        1
  •  0
  •   Ali Reza Shirmohammadi Yazdi    3 年前

    你可以使用液化糖来管理这种方法。在liquibaseconfiquration文件中,您可以检查数据库模式中是否存在表删除表,然后重新创建目标表。请注意,如果还有其他表,则不应采取任何操作。 https://docs.liquibase.com/tools-integrations/springboot/springboot.html

        2
  •  0
  •   Panagiotis Bougioukos    3 年前

    您可以在 spring-boot 应用程序。

    spring:
      sql.init.mode: always   
      datasource:
        url: ...
        username: ... 
        password: ...
      jpa:
        defer-datasource-initialization: true 
        hibernate:
          ddl-auto: update
        database-platform: org.hibernate.dialect.PostgreSQLDialect
    

    然后你可以把 src/main/resources 名为的文件 data.sql 其中可能包含 DELETE FROM MY_TABLE 这将彻底清洁桌子。

    拥有该物业 defer-datasource-initialization: true 您可以确保只有在hibernate完成对架构的处理并在应用程序初始化期间对DB进行更改后,脚本才会执行。