Suche nach grafischen DB-Tool mit Generierung von Änderungsskripten...



  • Ich suche ein Programm für "Microsoft SQL Server" (idealerweise aber auch für andere DB-Systeme wie Postgresql) mit folgenden wesentlichen Funktionalitäten:

    * Grafisches Design der Datenbank (kann fast jedes Tool)
    * Generierung von Differenz-Skripten, nicht nur für einfaches Rename, sondern auch für Änderungen von Spaltenreihenfolgen*...
    * Vorgaben wie Constraints etc. benannt werden, beim Umbenennen einer Tabelle sollen z.B. auch die dazu gehörigen Constraints umbenannt werden.
    * Idealerweise eine Versionierung mehrerer DB-Stände und Generierung der Differenzskripte für den gesamten "Versionssprung", nicht pro Einzelaktion wo man die Skripte dann händisch zusammenfügen muss.

    * Dies erfordert beispielsweise eine Neugenerierung von Tabellen mit Übernahme der alten Daten, z.B. durch Entfernen aller Constraints, Umbenennen der Tabelle, Erzeugen der neuen Tabelle, Kopieren des Inhaltes, Neuerzeugung der Constraints...

    Alle Tools die ich bislang ausprobiert habe (vornehmlich freie, günstige oder bereits vorhandene) scheitern mindestens beim dem zweiten und dritten Punkt.

    Kennt jemand entsprechende Tools? Der Aufwand den ich jedesmal bei einem DB-Patch oder großen "Versionssprung" mache rechtfertigt ggf. auch teurere Programme.



  • Hi Asc,

    soweit ich mich noch erinnere hat Embarcadero da ein recht gutes Tool, was es genau kann weiß ich nicht mehr, auch nicht mehr wie es hieß, ich glaube es war Artisan oder DB Change Manager. Hab es aber auf ner Veranstaltung nebenanderen ausgiebig vorgeführt bekommen und war recht überzeugt davon. Allerdings sind die Embyarcadero-Dingens nicht gerade Billigheimer, und wenn man hinterher feststellt, dass sie die Vorstellungen doch nciht erfüllen hat man viel Geld in den Sand gesetzt. Am besten Du nimmst da mal Kontakt auf wann und wo in Deiner Nähe die nächste Vorführung ist. Oder Du schaust Dir mal so eine Online-vorführung von denen an.

    Gruß Mümmel



  • Ich habe inzwischen ein Tool gefunden, das zwar keinen grafischen Designer hat, aber als einziges Tool noch relativ intuitiv gute Änderungsskripte liefert ("redgate SQL Compare"). Ich hatte auch den DB Change Manager im Test, aber war von dem Ergebnis nicht erzeugt, habe ihn aber auch nicht komplett getestet, SQL Compare ist schlicht auch deutlich günstiger und ich habe ohne viel Einarbeiten auch ein Tablemapping hinbekommen wo Tabellen umbenannt und auch zwischen den Schemas verschoben wurde...



  • (MS) SQL Server Management Studio kann alles was über den Table-Designer geht auch als Script raushauen.
    Ersetzt jetzt vermutlich nicht SQL Compare, aber ich dachte mir es kann nicht schaden es trotzdem zu erwähnen 🙂
    Dazu einfach den Table-Designer aufmachen, Änderungen machen und dann statt auf das "save" Icon auf das "generate script" Icon drücken:
    https://2.bp.blogspot.com/-KneTPyecMrI/VsTv5icL7HI/AAAAAAAAGqQ/wy6DqgiKQrI/s640/Untitled.png

    Bzw. man kann IIRC auch irgendwo in den Optionen einstellen dass vor dem Speichern immer das Script angezeigt wird.

    Nicht nur praktisch wenn man die Skripte für sein Update-Programm braucht, sondern auch wenn man abschätzen möchte wie stark "die kleine Änderung die man schnell mal in Production macht" wirklich reinhauen wird (weil halt leider doch oft der Table komplett neu aufgebaut wird).



  • Die Fähigkeiten vom SQL Server Management Studio sind schon bekannt, nur liefert das soviel ich sehe kein SQL das mehrere nötige Schritte enthält.

    Nehmen wir ein Beispiel: Bei uns gibt es jemanden der auch gerne auch mal die Reihefolge von Felder geändert haben will (Dies ist das einfachste Beispiel von vielen mit einer "starken" Auswirkung). Dies erfordert:
    Umbenennen der Tabelle, Neuerzeugen der Tabelle inkl. Constraints, kopieren von der umbenannten Tabelle...



  • asc schrieb:

    Dies erfordert:
    Umbenennen der Tabelle, Neuerzeugen der Tabelle inkl. Constraints, kopieren von der umbenannten Tabelle...

    Und das alles hast du dann in deinem Skript drin stehen.
    Nochmal: damit geht *alles* was du auch sonst mit dem "save" Button "speichern" kannst. Inklusive Anlegen von Indexen, Relations, Constraints.

    Feldreihenfolgen Ändern kann man problemlos "speichern", also kann es auch der Script-Generator. Probier's doch einfach aus.
    Ich hab hier grad kein Management Studio installiert, sonst würde ich dir ein Beispiel posten.

    asc schrieb:

    Die Fähigkeiten vom SQL Server Management Studio sind schon bekannt

    Na... anscheinend nicht so ganz 😉



  • Mich wundert das SSMS das Skript beim letzten Versuch nicht so erzeugt hat (vielleicht habe ich in meiner Testumgebung eine leere Tabelle erwischt)... Leider wieder SSMS typisch nicht sonderlich lesbar formatiert und einigen Codebloat.

    Gut, dann sparen wir uns die Anschaffung von SQL Compare (wurde noch nicht angeschafft, da bei dem kommenden Update doch sehr viel händische Anpassungen nötig sind, zu viel um eine Arbeitserleichterung zu bekommen).