Generelles zu individuellen Datenbanken
Individuelle Datenbanken dienen in todo4teams der Speicherung lösungsbezogener strukturierter Daten, wie z.B. der Sammlung von Spam-Absenderadressen, Kundendaten etc.
Der Zugriff auf diese Daten is extrem schnell und Sie können die Struktur der Tabellen selbst bestimmen. Die verwendete Datenbank Apache Derby unterstützt Indizes, referentielle Integrität und alle weiteren Features, die Sie von einer SQL-Datenbank erwarten.
Um eine individuelle Datenbank in todo4teams-Skripten nutzen zu können, befolgen Sie bitte die folgenden Schritte:
- Starten Sie todo4teams mit der Rolle "Administrator" oder "Super-Administrator"
- Öffnen Sie den Bereich "Servereinstellungen"
- Klicken Sie auf "Anlegen", um eine neue Servereinstellung zu speichern
- Geben Sie als Schlüssel den Namen der neuen Datenbank ein - hier z.B. MyCustomDB:
- Im Bereich 'Wert' müssen Sie den Namen der Datenbank und das Verzeichnis, in dem die Datenbank gespeichert werden soll, angeben (siehe Beispiel):
Beachten Sie Bitte, dass das Datenbank-Verzeichnis - hier: /home/databases - existieren und für den ausführenden Benutzer des Tomcat-Appliktionsservers beschreibbar ein muss! - Verwenden Sie anschließend in den (server-seitigen) Skripten in todo4teams die neue Datenbank wie folgt:
Der hier zu verwendende Name der Datenbank ist der, den Sie oben als "Schlüssel" eingegeben haben. - Benutzen Sie die Datenbank wie jede andere JDBC-Datenbank in Java. Hier handelt es sich um eine Derby-Datenbank. Weitere Derby-spezifische Informationen finden Sie hier:
https://db.apache.org/derby/docs/10.0/manuals/reference/sqlj02.html
ar stmt = con.prepareStatement("INSERT INTO MyTable (myId, taskId, creationDate) VALUES (?,?, CURRENT_TIMESTAMP)");
stmt.setString(1, sfFormId);
stmt.setString(2, taskId);
try{
stmt.executeUpdate();
if (!con.getAutoCommit()){
c.commit();
}
return true;
}
catch(de){
// collision!
println(de.getMessage());
return false;
}
finally{
stmt.close();
}
Einige konkrete Anwendungsbeispiele
In der Supervisor-Konsole von todo4teams können Sie im Tab "Custom-DB" die oben angelegte Datenbank ansprechen, einen SQL-Befehl eingeben und direkt ausführen (Button "Ausführen" unten rechts in der Supervisor-Konsole).
Folgender SQL-Befehl erzeugt in der Datenbank eine neue Tabelle "Student" mit den darunter definierten Feldern "Id", "Age", "First_Name" und "last_name".
Da im vorliegenden Fall solch eine Tabelle bereits existiert, wird als Ergebnis des SQL-Befehls eine Fehlermeldung ausgegeben.
Id INT NOT NULL GENERATED ALWAYS AS IDENTITY,
Age INT NOT NULL,
First_Name VARCHAR(255),
last_name VARCHAR(255),
PRIMARY KEY (Id)
);
Der SQL-Befehl "Show Tables" zeigt alle Tabellen innerhalb der Custom-DB an:
Sie können auch direkt Inhalte einfügen; im vorliegenden Fall muss definiert sein: die betroffene Tabelle, die Feldnamen und die Werte ("Values"), die eingepflegt werden sollen.
Ein weiteres Beispiel für das Hinzufügen von Inhalten.
Ein einfacher Select-Befehl gibt nun sämtliche Inhalte der Tabelle "Student" zurück.
Auch Löschungsoperationen sind selbstverständlich möglich, mit u.a. Codeschnipsel werden sämtlich Dateninhalte entfernt. Zurückgegeben wird als Ergebnis die Anzahl der Zeilen, die gelöscht worden sind.
Selbst die oben angelegte Tabelle "Student" lässt sich mit einfachen Mitteln löschen; im vorliegenden Fall war diese Tabelle vorab gelöscht worden, das Ergebnis des SQL_Befehls ist daher eine Fehlermeldung, dass die Tabelle nicht existiert.