Ich habe an meinem Spring-Boot-App-Projekt gearbeitet und festgestellt, dass manchmal ein Verbindungszeitüberschreitungsfehler zu meiner Datenbank auf einem anderen Server (SQL Server) auftritt. Dies geschieht insbesondere, wenn ich versuche, eine Skriptmigration mit FlyWay
durchzuführen, dies funktioniert jedoch nach mehreren Versuchen.
Dann bemerkte ich, dass ich nicht spring.jpa.hibernate.ddl-auto
in meiner Eigenschaftendatei angegeben habe. Ich habe einige Nachforschungen angestellt und festgestellt, dass es empfehlenswert ist, diese spring.jpa.hibernate.ddl-auto= create-drop
in der Entwicklung hinzuzufügen
. Und ändern Sie es in: spring.jpa.hibernate.ddl-auto= none
in Produktion.
Aber ich habe nicht wirklich verstanden, wie es wirklich funktioniert und wie der Ruhezustand das Datenbankschema mit create-drop
oder none
Wert generiert . Können Sie bitte technisch erklären, wie es wirklich funktioniert und welche Empfehlungen für die Verwendung dieser Eigenschaft in der Entwicklung und auf einem Produktionsserver gelten? Danke dir
none
aber Sie möchten möglicherweise, dass Ihre Hibernate Search- und Envers-Tabellen mithilfe generiert werden, update
da sie intern von diesen Projekten verwaltet werden und Sie diese nicht manuell selbst verwalten möchten. Im Moment steuern wir dies global für alle Tabellen, unabhängig von ihrer Herkunft / Quelle. Dies würde den Grund für die Verwendung herstellerspezifischer Optionen fördern, wenn Sie diese verwenden möchten.