Derzeit bin ich mit dem Standard-@SpringBootApplication
Anmerkung mit den folgenden Eigenschaften in application.properties
:Wie generiert man ein ddl creation script mit einem modernen Spring Boot + Data JPA und Hibernate Setup?
spring.datasource.url=jdbc:mysql://localhost/dbname
spring.datasource.username=X
spring.datasource.password=X
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.jpa.hibernate.naming_strategy=my.package.CustomNamingStrategy
Da JPA 2.1, sollte ich in der Lage sein, die javax.persistence.schema-generation.*
Eigenschaften zu verwenden, aber sie in meinem application.properties Einstellung scheint habe keine Wirkung.
Ich habe Beispiele like this gesehen, die eine ganze Reihe von zusätzlichen Beans verdrahten, aber sie verwenden Mysql nicht. Und auf jeden Fall muss ich viele Optionen konfigurieren, die der Frühling jetzt für mich erledigt.
Meine Ziele sind:
- eine Schema-Erstellung SQL-Skript im Dialekt MYSQL generieren
- ohne Datenbankverbindung
- Ausgabe das Skript
- Auch im Build-Verzeichnis zu erzeugen Hibernate erforderlich ist Envers Tabellen wäre ein großes Plus.
Ich will nicht zu:
- erstellen/Drop-Schemas auf einer Live-Datenbank
Lib Versionen:
hibernate : 4.3.11.FINAL
spring framework : 4.2.5.RELEASE
spring-boot : 1.3.3.RELEASE
spring-data-jpa : 1.10.1.RELEASE // for querydsl 4 support
spring-data-commons: 1.12.1.RELEASE // for querydsl 4 support
(Mit gradle, nicht maven)
War es ausreichend, um hinzuzufügen, diese Objekte zu Ihrer Spring-Konfiguration zu erhalten, Holen Sie das Ergebnis, das Sie gesucht haben, oder mussten Sie auch Java-Code schreiben, um etwas wie Persistence.generateSchema (...) aufzurufen? Würde gerne mehr von Ihrer Lösung sehen, wenn Sie teilen können. – Firefly
Amended die Antwort, im Wesentlichen nach dem Hinzufügen dieser Konfig, wurde die Datei automatisch in der generierten Quellen Verzeichnis erstellt. – Casey
Ich habe gesehen, dass die Datei zur Laufzeit generiert wird. Gibt es eine Möglichkeit, es "offline" zu generieren? –