Package de.svws_nrw.db.utils.schema
Klasse DBSchemaManager
java.lang.Object
de.svws_nrw.db.utils.schema.DBSchemaManager
Diese Klasse stellt Hilfs-Funktionen zur Verfügung, um auf ein SVWS-Datenbank-Schema zuzugreifen und dieses zu bearbeiten.
-
Feldübersicht
Modifizierer und TypFeldBeschreibungfinal DBBackupManager
Der Backup-Manager, für den Import von und den Export nach SQLitefinal DBUpdater
Der Updater, um Datenbank-Updates durchzuführen -
Methodenübersicht
Modifizierer und TypMethodeBeschreibungstatic DBSchemaManager
create
(DBEntityManager conn, boolean returnOnError, Logger logger) Versucht einen neuen DB-Schema-Manager zu erstellen.static boolean
createAllTrigger
(DBEntityManager conn, Logger logger, long revision, boolean returnOnError) Führt die SQL-Skripte zum Erstellen aller Datenbank-Trigger der angegebenen Schema-Revision aus, welche nicht zu den Auto-Inkrementen bei Primärschlüsseln gehören.static boolean
createNewSchema
(DBConfig tgtConfig, String tgtRootUser, String tgtRootPW, long maxUpdateRevision, Logger logger) Diese Methode erstellt in der durch tgtConfig beschriebene SVWS-Server-Datenbank ein neues Schema.void
createSVWSSchema
(DBEntityManager conn, long revision, boolean createUser, boolean createTrigger) Erstellt ein SVWS-Datenbank-Schema der angegebenen Revisionboolean
Verwirft das SVWS-Datenbank-Schema.Gibt die Datenbank-Verbindung des Managers zurück.Gibt den zuletzt gesetzten Fehler einer Operation des Schema-Managers zurück.Gibt den vom Schema-Manager verwendeten Logger zurück.Gibt den Namen des Schemas zurück.Gibt den Schema-Status (seeDBSchemaStatus
zurück.static boolean
recycleSchema
(DBConfig tgtConfig, long maxUpdateRevision, Logger logger) Diese Methode verwendet das durch tgtConfig beschriebene Datenbank-Schema, um ein leeres SVWS-Schema der angegebenen Revision anzulegen.static boolean
setDBRevision
(DBEntityManager conn, long revision) Setzt die Datenbank-Revision auf die angegebene Revision.
-
Felddetails
-
updater
Der Updater, um Datenbank-Updates durchzuführen -
backup
Der Backup-Manager, für den Import von und den Export nach SQLite
-
-
Methodendetails
-
create
public static DBSchemaManager create(DBEntityManager conn, boolean returnOnError, Logger logger) throws DBException Versucht einen neuen DB-Schema-Manager zu erstellen.- Parameter:
conn
- die Datenbank-VerbindungreturnOnError
- gibt an, ob Operatioen bei Einzelfehlern abgebrochen werden sollenlogger
- ein Logger, um die Abläufe in dem Schema-Manager zu loggen- Gibt zurück:
- der DB-Schema-Manager bei Erfolg
- Löst aus:
DBException
- wenn ein Verbindungsfehler auftritt
-
getConnection
Gibt die Datenbank-Verbindung des Managers zurück.- Gibt zurück:
- die Datenbank-Verbindung
-
getSchemaname
Gibt den Namen des Schemas zurück.- Gibt zurück:
- der Name des Schemas;
-
getSchemaStatus
Gibt den Schema-Status (seeDBSchemaStatus
zurück.- Gibt zurück:
- der Schema-Status von diesem Schema-Manager
-
getLogger
Gibt den vom Schema-Manager verwendeten Logger zurück.- Gibt zurück:
- der Logger
-
getLastError
Gibt den zuletzt gesetzten Fehler einer Operation des Schema-Managers zurück.- Gibt zurück:
- der zuletzt gesetzte Fehler
-
setDBRevision
Setzt die Datenbank-Revision auf die angegebene Revision. Dabei wird die Transaktion aus der übergebenen Datenbankverbindung genutzt.- Parameter:
conn
- die Datenbankverbindungrevision
- die zu setzende Revision, bei -1 wird die neueste Revision gesetzt- Gibt zurück:
- true, falls die Revision erfolgreich gesetzt wurde, sonst false
-
createAllTrigger
public static boolean createAllTrigger(DBEntityManager conn, Logger logger, long revision, boolean returnOnError) Führt die SQL-Skripte zum Erstellen aller Datenbank-Trigger der angegebenen Schema-Revision aus, welche nicht zu den Auto-Inkrementen bei Primärschlüsseln gehören. Die Datenbank-Transaktion muss außerhalb dieser Methoden gehandhabt werden.- Parameter:
conn
- die Datenbank-Verbindunglogger
- der Loggerrevision
- die Revision des Datenbank-SchemasreturnOnError
- gibt an, ob die Funktion bei einem Fehler sofort zurückkehrt oder nicht- Gibt zurück:
- true, falls alle Trigger erfolgreich erstellt wurden
-
createSVWSSchema
public void createSVWSSchema(DBEntityManager conn, long revision, boolean createUser, boolean createTrigger) throws DBException Erstellt ein SVWS-Datenbank-Schema der angegebenen Revision- Parameter:
conn
- die Datenbank-Verbindung zum Erstellen des Schemasrevision
- die Revision für das SVWS-DB-SchemacreateUser
- gibt an, ob Default-SVWS-Benutzer angelegt werden sollencreateTrigger
- gibt an, ob auch die Trigger für die Datenbank-Revision erstellt werden sollen (oder ob dies später seperat aufgerufen wird)- Löst aus:
DBException
- falls das Erstellen des Schemas fehlschlägt
-
dropSVWSSchema
Verwirft das SVWS-Datenbank-Schema.- Gibt zurück:
- true, wenn das Schema erfolgreich verworfen wurde, false wenn dabei Fehler aufgetreten sind.
- Löst aus:
DBException
- wenn ein Verbindungsfehler auftritt
-
createNewSchema
public static boolean createNewSchema(DBConfig tgtConfig, String tgtRootUser, String tgtRootPW, long maxUpdateRevision, Logger logger) Diese Methode erstellt in der durch tgtConfig beschriebene SVWS-Server-Datenbank ein neues Schema.- Parameter:
tgtConfig
- die Datenbank-Konfiguration für den Zugriff auf die SVWS-Server-DatenbanktgtRootUser
- der Benutzername eines Benutzers, der mit den Rechten zum Verwalten der Datenbankschemata ausgestattet ist.tgtRootPW
- das root-Kennwort für den Zugriff auf die ZieldatenbankmaxUpdateRevision
- die Revision, bis zu welcher die Zieldatenbank aktualisiert wirdlogger
- ein Logger, welcher das Erstellen loggt.- Gibt zurück:
- true, falls das Erstellen erfolgreich durchgeführt wurde.
-
recycleSchema
public static boolean recycleSchema(DBConfig tgtConfig, long maxUpdateRevision, Logger logger) throws SVWSKonfigurationException Diese Methode verwendet das durch tgtConfig beschriebene Datenbank-Schema, um ein leeres SVWS-Schema der angegebenen Revision anzulegen. Dabei werden evtl. zuvor bestehende Tabellen entfernt.- Parameter:
tgtConfig
- die Datenbank-Konfiguration für den Zugriff auf das Datenbank-SchemamaxUpdateRevision
- die Revision, bis zu welcher das SVWS-Schema aktualisiert wirdlogger
- ein Logger, welcher das Erstellen loggt.- Gibt zurück:
- true, falls das SVWS-Schema erfolgreich erzeugt wurde.
- Löst aus:
SVWSKonfigurationException
- falls ein Fehler beim Zugriff auf die Konfiguration auftritt
-