Zum Inhalt springen

Tool zur Verwaltung von DB Update Skripten


Yakuzza

Empfohlene Beiträge

Hallo,

ich bin auf der Suche nach einen Tool, welches Update Skripte für Datenbanken verwaltet. Folgendes sollte das Tool anbieten:

- Erstellen eines Gesamtskriptes nach Eingabe einer Ist und einer Soll Versionsnummer

- Unterstützung von Unicode

- Unterstützung von MS SQL Server und Oracle

Ich hatte ein solches Tool schon mal in den Fingern, leider hab ichs damals nicht gebraucht. Hoffe ihr könnt mir helfen.

Gruß, Yakuzza

Link zu diesem Kommentar
Auf anderen Seiten teilen

Der Powerdesigner kann folgendes....

Du pflegst dein Datenmodell damit. Bei jeder änderungen versionierst du das. Dann kannst du jederzeit gegen eine bestehende Datenbank oder gegen ein andere Modell (Version) dir die unterschiede aufzeigen lassen und daraus ein Script erstellen lassen was die entsprechenden Änderungen ausführt.

Meinst du sowas, oder meinst du inhalte in der der DB?

Der Begriff "Update-Scripte" irritiert mich etwas! und eingabe einer Versionsnr... Version von was, der Datebank der Applikation des Datenmodells usw.?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Saluez,

merci für Deine Antwort. Ich werd mal versuchen den Knoten etwas zu entwirren. :)

Die Update Skripte nehmen die Änderungen an den Tabellen in der DB vor. Z. B. Änderung des Datentyps einer Spalte, hinzufügen von neuen Einträgen. Ein Bispiel wäre damals das Hinzufügen der Währung Euro in die Tabelle mit Währungen gewesen.

Ich bin auf der Suche nach sowas, weil wir momentan für zwei Datenbanken alle Änderungsskripte der Versionen 3.0.0.2 bis 6.1.0.0 vorhalten müssen. Da kann man als Mensch fast nicht mehr den Überblick behalten, zumal jetzt auch noch unversionierte Skripte hinzukommen, die immer eingespielt werden können. *würg*

Ich hoffe ein solches Tool kann uns vor dem absoluten Chaos bewahren.

Gruß!

Link zu diesem Kommentar
Auf anderen Seiten teilen

Da kann ich dir eher ein ganz "normales" Versionsverwaltungstool empfehlen. Wir setzten z.B. PVCS ein. Sowas sollte man sowieso grundsätzlich für Sourcen haben. Da gibt es ziemlich viele von, welches du nehmen solltest, hängt meistens davon ab, welche entwicklungsumgebungen du einsetzt, falls du das Tool irgendwann mal integrieren willst (dies war der Grund warum wir pvcs genommen haben, da das in Powerbuilder integrierbar ist).

Grüße mme

Link zu diesem Kommentar
Auf anderen Seiten teilen

Saluez,

ein Tool zur Versionierung haben wir natürlich. Es gibt zwei Hauptprobleme, erstens sind die MS SQL Skripte UTF-8 und die Oracle nicht. Was bei jedem neuen Mitarbeiter erstmal zu zwei oder drei nicht installierbaren Skripten führt, weil die das vergessen. Zum Anderen ist es wie gesagt eine enorme Menge an Skripten die dann jeweils bei Kunden (Update) eingespielt werden müssen.

Ich wollt einfach ein bisschen Automatismus reinbringen.

Gruß, Yak

Link zu diesem Kommentar
Auf anderen Seiten teilen

Wir haben bis vor etwa einem Jahr auch ständig mit "Update-Scripten" rumhantiert - also Sammlungen von SQL-Statements, die Datenbanken von einem Stand auf einen höheren brachten. Allerdings werden auch oft mal eben Anpassungen direkt beim Kunden gemacht oder mal ein Zwischen-Update durchgeführt. So kam es eigentlich fast nie vor, daß bei einem Update so ein Script fehlerfrei durchgelaufen ist. Manchmal hat's uns sogar durch Unachtsamkeit komplette Tabellen zerstört. Zudem hat die Ausführung je nach Länge des Scripts auch teilweise extrem gedauert - umso schlimmer, wenn dann mittendrin etwas schiefgeht.

Da ist dann die Idee gekommen, selbst ein Tool zu schreiben, das die Datenbankstruktur aufnimmt und zu einer bestimmten Versionsnummer updatet. Dabei halten wir uns in etwa an die System-Tabellen vom MS-SQL-Server und vergleichen diese dann mit den eigentlichen Systemtabellen auf dem Server. In einer Vergleichsübersicht sehen wir dann, was alles unterschiedlich ist und können die Änderungen auf Knopfdruck durchführen. Es gibt also keine fertigen Scripte mehr, sondern nur noch eine komplette Datenbankstruktur, die verglichen wird und aus der nach gefundenen Unterschieden dann automatisch das passende Script erstellt wird.

Sowas ist relativ einfach zu machen, wenn man sich erstmal in die Logik der Systemtabellen eingearbeitet hat (zumindest unter MS-SQL - wie das bei Oracle aussieht, weiß ich leider nicht).

Das Einfügen von neuen Datensätzen, Vor und nach dem Update einer Tabelle auszuführende Statements (z.B. zum Umschaufeln von Daten in ein neues Feld), Verwaltung von SPs und in der Datenbank liegenden SQL-Statements, die von unserer Anwendung ausgelesen werden u.ä., haben wir mit der Zeit auch realisiert - und vor allem eine Oberfläche zum Pflegen der Vorlage (also fast die Funktionalität des Enterprise Managers).

Das Ganze war sicher locker ein Monat Arbeit - aber der hat sich locker gelohnt!

Wir sparen uns seitdem ne Menge Arbeit und Ärger :) - wo wir vorher teilweise mehrtägige Besuche beim Kunden zum Updaten machen mussten, reicht mittlerweile ne halbe Stunde Remote-Verbindung ;)

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 6 Jahre später...

Wir setzten z.B. PVCS ein.

Mein aufrichtiges Beileid.

Ich kann Dir einen guten Therapeuten empfehlen, damit Du nicht noch amok läufst.

Sowas sollte man sowieso grundsätzlich für Sourcen haben.

Man will ein SCM.

PVCS kann das nicht, das kann einen nur von der Arbeit abhalten und das Hirn schreddern ;-o

Da gibt es ziemlich viele von, welches du nehmen solltest, hängt meistens davon ab, welche

Entwicklungsumgebungen du einsetzt, falls du das Tool irgendwann mal integrieren willst

(dies war der Grund warum wir pvcs genommen haben, da das in Powerbuilder integrierbar ist).

Ein normales SCM hilft hier nicht weiter. Man braucht schon etwas, das Statements zur

Schema-Änderung anzeigen kann. Also ein deklaratives Schema-Modell und ein

Diff-Tool das daraus entprechende SQL-Statements erzeugt. Wird sich sicherlich

im Netz irgendwas finden lassen, das sich dann auch als diff-tool in git einbinden ließe.

Link zu diesem Kommentar
Auf anderen Seiten teilen

....Man braucht schon etwas, das Statements zur

Schema-Änderung anzeigen kann. Also ein deklaratives Schema-Modell und ein

Diff-Tool das daraus entprechende SQL-Statements erzeugt. Wird sich sicherlich

im Netz irgendwas finden lassen, das sich dann auch als diff-tool in git einbinden ließe.

Hallo,

Für Oracle kann dies sicher der SQLDeveloper (--> Extras --> Database Diff, kostenlos) und auch TOAD (nicht kostenlos :-))

Grüsse

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...