2009-12-18 8 views
14

Mit Toad für Oracle kann ich vollständige DDL-Dateien generieren, die alle Tabellen, Ansichten, Quellcode (Prozeduren, Funktionen, Pakete), Sequenzen und Grants eines Oracle-Schemas beschreiben. Ein großartiges Feature ist, dass es jede DDL-Deklaration in verschiedene Dateien aufteilt (eine Datei für jedes Objekt, sei es eine Tabelle, eine Prozedur, eine Ansicht usw.), so dass ich Code schreiben und die Struktur der Datenbank ohne eine DB-Verbindung sehen kann . Der andere Vorteil der Arbeit mit DDL-Dateien besteht darin, dass ich nicht jedes Mal, wenn ich Tabellendefinitionen überprüfen muss, eine Verbindung zur Datenbank herstellen muss, um eine DDL zu generieren. In Toad for Oracle, gehen Sie zu Datenbank -> Exportieren und wählen Sie den entsprechenden Menüpunkt, abhängig davon, was Sie exportieren möchten. Sie erhalten zu diesem Zeitpunkt ein schönes Bild der Datenbank.Gibt es ein Tool zum Generieren einer vollständigen Datenbank-DDL für SQL Server? Was ist mit Postgres und MySQL?

Gibt es eine "Batch" Tool, das
exportiert - alle Tabellen DDLs (einschließlich Indizes, überprüfen/Referenzrandbedingungen)
- alle Quellcode (separate Dateien für jede Prozedur, Funktion)
- alle Ansichten
- Alle Sequenzen
von SQL Server?

Was ist mit PostgreSQL?
Was ist mit MySQL?
Was ist mit Ingres?

Ich habe keine Präferenz, ob das Tool Open Source oder Commercial ist.

+0

I Ich hätte gerne die Antwort auf mehr als eine Antwort, , vergeben, da jede Antwort DB-spezifisch ist und die Frage nach den meisten DB-Systemen der meisten gestellt wurde. –

Antwort

8

In PostgreSQL, einfach die Option -s verwenden, um pg_dump. Sie können es als ein einfaches sql-Skript (eine Datei für die gesamte Datenbank) in einem benutzerdefinierten Format erhalten, in das Sie dann ein Skript schreiben können, um eine Datei pro Objekt zu erhalten, wenn Sie es wollen.

Das PgAdmin-Tool wird Ihnen auch den SQL-Dump jedes Objekts zeigen, aber ich glaube nicht, dass es einen netten Weg gibt, sie alle von dort auf einmal zu bekommen.

4

MySQL hat ein großartiges Tool namens MySQL workbench, mit dem Sie Datenbanken reverse und forward, sowie synchronisieren können, was ich wirklich mag. Sie können die DDL beim Ausführen dieser Funktionen anzeigen.

7

Für mysql verwende ich mysqldump. Der Befehl ist ziemlich einfach.

$ mysqldump [Optionen] db_name [Tabellen]

$ mysqldump [Optionen] --databases db_name1 [db_name2 db_name3 ...]

$ mysqldump [Optionen] --all-databases

Viele Optionen dafür. Take a look here für eine gute Referenz.

30

Für SQL Server:

In SQL Server Management Studio, klicken Sie rechts auf die Datenbank und wählen Sie 'Aufgaben' -> 'Generate Scripts'.

Sie werden gefragt, welche DDL-Objekte in Ihr Skript aufgenommen werden sollen.

+5

gibt es eine Option, es über die Befehlszeile zu tun? – vumaasha

+0

Während ich nach einer vollständig gescripteten Option suchte, ist dies die beste Antwort, die ich je gefunden habe! – CoveGeek

2

Ich schrieb SMOscript was tut, was Sie fordern (in Bezug auf MSSQL Server)

0

Nach was sagte Daniel Vassallo, das ist für mich gearbeitet:

pg_dump -f c:\filename.sql -C -n public -O -s -d Moodle3.1 -h localhost -p 5432 -U postgres -w 
0

Neben dem Assistenten in SSMS "Skripts generieren" Sie jetzt MSSQL verwenden können -scripter ist ein Befehlszeilentool zum Generieren von DDL- und DML-Skripten.

Es ist ein Open-Source- und Python-basiertes Tool, das Sie installieren können: pip install mssql-scripter.

Hier ist ein Beispiel, wie Sie das Datenbankschema und die Daten in eine Datei schreiben können. MSSQL-Scripter -S localhost -d Adventure -U sa --schema-and-data> ./adventureworks.sql Weitere Richtlinien: https://github.com/Microsoft/sql-xplat-cli/blob/dev/doc/usage_guide.md

Und hier ist der Link zum Repository GitHub: https://github.com/Microsoft/sql-xplat-cli

Verwandte Themen