- Klicken Sie im im Project Management > Entities > main-java auf Create tables from JPA entities.
- Wählen Sie bei Persistence Unit die gewünschte Datenquelle aus.
- Selektieren Sie im folgenden Assistent den Ordner resources.
Gesamte Datenbank generieren lassen (Create Table)
Anwendungsfall:
- Es ist noch keine Datenbank vorhanden.
- Die Datenbank soll erstmalig auf einem neuen Test- oder Produktiv-System deployed werden.
- Legen Sie bei DDL File eine Bezeichnung fest, z.B. Create_CarsDB.ddl.
- Klicken Sie auf Finish.
Ergebnis:
- Create Table Statements - Generiert aus Entities Datenbanktabellen.
Optionen:
- Update Schema - Updated vorhandene Datenbanktabellen, falls schon vorhanden
- Export to Database - Führt die generierten Statements sofort aus.
Nur einzelne Änderungen durchführen (Update)
Anwendungsfall:
- Aktualisierung einer vorhandenen Datenbank
- Änderungen an Datenmodell und Datenbank während der Entwicklung
- Auslieferung eines Datenbank-Updates
- Legen Sie bei DDL File eine Bezeichnung fest, z.B. Update_CarsDB.ddl.
- Wählen Sie bei Options die Option Update Schema an.
- Klicken Sie auf Finish.
Ergebnis:
- Update Schema - Generiert nur für die durchgeführten Änderungen und Erweiterungen die entsprechenden Statements.
Parameter:
- Export to Database - Führt die generierten Statements sofort aus. (Braucht eine aktive Connection zur Datenbank)
DDL-Skripte ausführen
- Stellen Sie eine Verbindung zu einer Datenquelle her.
- Öffnen Sie die im Project Management > main-resources generierte DDL-Datei, die Sie ausführen möchten.
- Legen Sie im folgenden SQL-Editor bei Type, Name und Database die Datenquelle fest auf der Sie das DDL-Skript ausführen möchten.
- Klicken Sie mit Rechtsklick in den SQL-Editor und wählen Sie im Kontextmenü > Execute All.
Tipps:
- Datenbank manuell generieren und updaten - Es ist hilfreich die DDL-Files zu sämtlichen Datenbank-Änderungen versioniert zu verwalten. Beispiel:
Datenbank automatisiert generieren und updaten - Beim initialen Starten Ihrer Anwendung im Servlet-Container lässt sich die Datenbank vollautomatisch deployen oder updaten. Dazu müssen Sie lediglich in der persistence.xml in der folgenden Zeile den Parameter validate ändern.
Code Block language java theme Confluence <property name="hibernate.hbm2ddl.auto" value="validate" />
Parameter:
- validate - Standard-Wert. Das Datenbankschema wird lediglich überprüft. An der Datenbank selbst werden keine Änderungen vorgenommen.
- update - Die Datenbank wird anhand der Änderungen an den Entities entsprechend aktualisiert. Es werden ausschließlich Änderungen und Erweiterungen durchgeführt.
- create - Die Datenbank wird vollständig deployed. Bereits vorhandene Tabellen und Daten werden dabei gelöscht.
- create-drop - Die Datenbank wird vollständig deployed und nach dem Beenden der Session wieder vollständig gelöscht. Diese Strategie eignet sich z.B. für automatisierte Softwaretests.