Datenbank: Tabelle erstellen bei Web-Applikation

Tintenfisch

Bekanntes Mitglied
Hallo Forum,

Ich habe mal wieder eine Frage bezüglich der Web-Entwicklung. Und zwar möchte ich eine Tabelle in einer Datenbank erstellen, jedoch ist mir nicht ganz schlüssig, wie, bzw. wo dies im Regelfall getan wird.

Bei reinen Desktop-Anwendungen habe ich immer zu Programmstart geprüft, ob die benötigte Tabelle vorhanden ist und falls nicht, diese erstellen lassen.
Bei Webanwendungen jedoch, ist mir das nicht ganz schlüssig. Man könnte zwar direkt über ein Datenbank-Management-System, die benötigten Tabellen erstellen, jedoch wäre es mir lieber, dieses direkt aus dem Programmcode zu tun.

Dazu sein noch gesagt, dass ich nicht mir einem Framework wie beispielsweise "Hibernate" arbeite.

Über Ansätze, wie dies "regulär" gehandhabt wird oder weitere Vorschläge, wäre ich dankbar :)
 

KonradN

Super-Moderator
Mitarbeiter
Es werden oft Tools eingesetzt. Was es da so gibt:

Liquibase: https://www.liquibase.org/
Flyway: https://flywaydb.org/

Diese Tools können auch in ein eigenes Java Produkt integriert werden.

Ansonsten ist es auch denkbar, die Datenbankschemata selbst zu verwalten. Das haben wir gemacht mit einfachen SQL Scripts.

  • Es gibt dann eine Tabelle, die auch eine Schema-Version beinhaltet und so.
  • Du hast Dann Scripte, die die Datenbank anlegt und in eine bestimmte Version bringt.
  • Und dann hast Du Scripte, die die Datenbank von Version zu Version migrieren.

Die Dateien liegen dann z.B. als Ressource vor und werden dann bei Bedarf abgearbeitet.
 

Tintenfisch

Bekanntes Mitglied
Es werden oft Tools eingesetzt. Was es da so gibt:

Liquibase: https://www.liquibase.org/
Flyway: https://flywaydb.org/
Werde ich mir auf jeden Fall mal ansehen.
Im aktuellen Fall würde ich ich wohl aber tatsächlich auf die Scripts zurückgreifen.

Die Dateien liegen dann z.B. als Ressource vor und werden dann bei Bedarf abgearbeitet.
Meine Frage wäre nun noch, auf welche Weise die Scripts denn angesprochen werden, bzw. an welcher Stelle.
Wird das ganze manuell vor dem Deployen getan?
 

KonradN

Super-Moderator
Mitarbeiter
Meine Frage wäre nun noch, auf welche Weise die Scripts denn angesprochen werden, bzw. an welcher Stelle.
Wird das ganze manuell vor dem Deployen getan?
Wir hatten das damals separat über ein Tool gemacht (Datenbanken lagen auf einem Cluster - Schema Anpassungen erfolgten nur direkt durch Administratoren, die es aufgerufen haben). Aber das ist ja beliebig handhabbar.

Die Scripts müssen in einer Form sein, dass Du dies ausführen kannst. Das kann also z.B. ein eigenes Format sein, das Du die ausgedacht hast oder Du hast in einer Datei einen Aufruf, den Du dann tätigst. Das kann also einfach sein, dass Du den Inhalt der Datei einliest um diesen dann über ein SQL Statement abzusetzen. Oder Du hast in der Datei mehrere Statements und Du fügst die ein als Batch. Das ist also etwas, das Du Dir frei überlegen kannst.
 

Oneixee5

Top Contributor
Es gibt für Webanwendungen auch Listener, welche beim Starten oder Stoppen einer Webanwendung anspringen. Im Falle eines Upgrades muss die alte Version irgendwie gestoppt und die neue Version gestartet werden. Das kann man entweder über eine Admin-Oberfläche des Webservers machen, über Scripte oder z.B.: auch indem man ein WAR-File in einen bestimmten Ordner legt oder löscht (es gibt bestimmt noch weitere Varianten). In so einem Listener kann dann auch das Update der DB ausgeführt werden.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
L SQL Datenbank Tabelle erstellen Datenbankprogrammierung 6
L SQL Datenbank Tabelle insert Datenbankprogrammierung 7
J Oracle Datenbank-Tabelle per Combobox (oder ähnliches) auswählen Datenbankprogrammierung 3
J Aufbau meiner Datenbank/Tabelle - Verbessern? So lassen? Datenbankprogrammierung 39
J Tabelle synchronisieren mit Datenbank Datenbankprogrammierung 7
M Ausgabe in Tabelle der MySQL-Datenbank mit Java Datenbankprogrammierung 4
S Datenbank-Tabelle in SWING/AWT ausgeben Datenbankprogrammierung 28
M Tabelle von einer Datenbank in eine Andere Datenbankprogrammierung 4
T Tabelle in datenbank einfügen Datenbankprogrammierung 2
torresbig MySQL hibernate - could not resolve entity class ... (Datenbank Anfänger) Datenbankprogrammierung 19
M Meine Datenbank lässt sich mit meiner Methode nicht ändern Datenbankprogrammierung 1
I SaaS Applikation: pro Kunde eine Datenbank / Schema oder eine DB für alle Kunden? Datenbankprogrammierung 76
T SQL-Statement Datenbank nach SQL Statement schließen? Datenbankprogrammierung 7
M Datenbank Zugraff nach Umwandlung in .jar-Datei nicht mehr möglich Datenbankprogrammierung 4
Auf MySql Datenbank zugreifen funktioniert nicht Datenbankprogrammierung 8
MongoDB-Datenbank in Androidstudio einbinden Datenbankprogrammierung 1
thor_norsk Datenbank: Apache Derby Datenbankprogrammierung 6
B SQlite Datenbank, trotz Statements wurden nicht alle Zeilen erzeugt? Datenbankprogrammierung 35
M Datenbank mit REST API Datenbankprogrammierung 66
M Entfernte Datenbank Datenbankprogrammierung 11
D SQLite Datenbank in Android Studio (Java) durchsuchen Datenbankprogrammierung 3
M MySQL Datenbank in Array Datenbankprogrammierung 2
S Den letzten Eintrag aus Datenbank ziehen (Oracle SQL Dev.) Datenbankprogrammierung 14
N Datenbank abfragen nach bestimmten Wort Datenbankprogrammierung 7
Beginner22 Zugriff auf Datenbank aus Java über mariadb Datenbankprogrammierung 3
ma095 value NULL- Datenbank Postgresql Spring - intellij community Datenbankprogrammierung 0
raptorrs Plötzlich keine Verbindung zur Datenbank mehr möglich Datenbankprogrammierung 14
Davee SQLite SQLite Datenbank lässt sich nicht auf anderen PCs öffnen Datenbankprogrammierung 8
P Datenbank Tool - besser als oracle SQL Developer gesucht mit effizinte Verbindungsverwaltung Datenbankprogrammierung 2
X JPA (EclipseLink) und Oracle Datenbank Datenbankprogrammierung 2
T Datenbank auf einer Webseite aus einer Exceltabelle erstellen Datenbankprogrammierung 5
L SQL Datenbank Datenbankprogrammierung 7
L SQL Datenbank INSERT INTO Datenbankprogrammierung 6
nonickatall MySQL Auf neue Datensätze in einer Datenbank reagieren Datenbankprogrammierung 5
W MYSQL Datenbank Login Android Datenbankprogrammierung 3
anton1 Online Datenbank Datenbankprogrammierung 7
krgewb H2-Datenbank öffnen Datenbankprogrammierung 8
J Datenbank abfragen Datenbankprogrammierung 6
P Verbindung zu einer Access Datenbank per Eclipse oder Intellij Datenbankprogrammierung 0
O SQL Abfragen mit Mini Datenbank Datenbankprogrammierung 12
Z Datenbank Choicebox wird nicht befüllt Datenbankprogrammierung 15
S Suche In SQL Datenbank mit array Datenbankprogrammierung 6
P Enum in der Datenbank Datenbankprogrammierung 1
Z SQL- Datenbank 1.PK zu 2.FK Datenbankprogrammierung 3
E netbeans - jsp Daten in Datenbank hinzufügen Datenbankprogrammierung 2
bueseb84 Spring Boot : Update Mysql Datenbank Datenbankprogrammierung 1
Avalon Attribute werden mit Unterstrich in eine MySQL Datenbank eingetragen Datenbankprogrammierung 10
MiMa wo Datenbank verbinden/trennen? Datenbankprogrammierung 1
H MySQL Verbindung Datenbank und Eclipse (Java) Datenbankprogrammierung 5
DeltaPilot12 Datenbank connect Funktion Datenbankprogrammierung 7
N SQL Datenbank Spalte in Java Array Datenbankprogrammierung 2
J JAR-Datei und Datenbank Datenbankprogrammierung 8
Bluedaishi Datenbank Abfrage Datenbankprogrammierung 36
Kirby.exe Zeile aus der Datenbank holen wenn ein match besteht Datenbankprogrammierung 7
Kirby.exe Es werden keine Einträge in der Datenbank gemacht Datenbankprogrammierung 23
C Datenbank anlegen und über eine Website mit Daten füllen? Datenbankprogrammierung 25
J Welche Kriterien haben Einfluss auf die Geschwindigkeit einer Datenbank ? Datenbankprogrammierung 4
B Frage zu Datenbank Design bei Events (ZenDesk) Datenbankprogrammierung 1
M SQLite Datenbank mit SQLite Datenbankprogrammierung 7
C String in Datenbank einfügen Datenbankprogrammierung 11
C Keinen Zugrift auf Datenbank Datenbankprogrammierung 2
C Datenbank zugreifen Datenbankprogrammierung 10
L Auf Strato Datenbank zugreifen Datenbankprogrammierung 7
H Fehler bei getConnection zu MySQL Datenbank Datenbankprogrammierung 18
G Datenbank Statement Datenbankprogrammierung 22
M Datenbank editierbach machen in JTable Datenbankprogrammierung 13
S Datenbank MySQL und Java Datenbankprogrammierung 8
M H2 Verbindung zur Datenbank komplett schließen Datenbankprogrammierung 11
J Nur CRUD über Datenbank Klasse, oder auch mehr ? Datenbankprogrammierung 2
Dimax MySQL Maximale Datenlänge für eine Spalte einer Datenbank in java ermitteln Datenbankprogrammierung 15
L Appabsturz mit Datenbank Datenbankprogrammierung 4
J Zahlungseingänge von mehreren Kunden wie am besten abbilden in der Datenbank ? Datenbankprogrammierung 8
L Datenbank sichern Datenbankprogrammierung 8
S Daten von SQLite Datenbank nutzen Datenbankprogrammierung 5
J Datenbank VPS Server Datenbankprogrammierung 3
H MySQL MySQL - Keine Verbindung zur Datenbank?! Datenbankprogrammierung 4
NIckbrick MySQL Befehle aus Datenbank auslesen Datenbankprogrammierung 21
S Datenbank/Java true/false Datenbankprogrammierung 8
J JUNIT und CRUD-Datenbank Datenbankprogrammierung 4
F Datenbank/Datenabgleich/Wiederholungsabfrage Datenbankprogrammierung 12
@SupressWarnings() Eure bevorzugte Datenbank-Library Datenbankprogrammierung 9
C datenbank verbindung config Datenbankprogrammierung 23
L MySQL Android zu externer MySQL Datenbank verbinden Datenbankprogrammierung 5
M Datenbank vor unerlaubtem Zugriff durch Benutzer schützen Datenbankprogrammierung 3
U MySQL Aus Servlet in Datenbank schreiben Datenbankprogrammierung 4
H Datenbank Export mit Java Datenbankprogrammierung 3
P Daten in eine mySQL Datenbank einfügen Datenbankprogrammierung 4
S SQL-Statement Datenbank Zeitbereich durchsuchen Datenbankprogrammierung 2
L Messenger App - Wie am besten auf Datenbank zugreifen? Datenbankprogrammierung 4
H MySQL Datenbank auf Xampp nimmt keine Mediumblob an. Datenbankprogrammierung 0
D Datenbank Abfrage Datenbankprogrammierung 7
H MySQL Benutzer Login System mit Datenbank Informationen (Abfrage zu User ist auf DB gesichert) Datenbankprogrammierung 42
L Oracle Datenbank über Java aufrufen Datenbankprogrammierung 29
DaCrazyJavaExpert Derby/JavaDB Unfindbarer Fehler im Datenbank-Code Datenbankprogrammierung 87
DaCrazyJavaExpert Derby/JavaDB Wert einer Variable in der Datenbank direkt auf 1 setzten. Datenbankprogrammierung 71
W MySQL Ausgabe von Datenbank in Java-App Datenbankprogrammierung 6
M portable Datenbank Datenbankprogrammierung 2
S Name aus der Datenbank bekommen Datenbankprogrammierung 2
K Eclipse: JBoss Hibernate Tool: Kein Zugriff auf Datenbank Datenbankprogrammierung 5
MaxG. Datenbank werte vergleichen Datenbankprogrammierung 5

Ähnliche Java Themen

Neue Themen


Oben