2009-12-18 13 views
14

Utilizando Toad for Oracle, puedo generar archivos DDL completos que describen todas las tablas, vistas, código fuente (procedimientos, funciones, paquetes), secuencias y concesiones de un esquema de Oracle. Una gran característica es que separa cada declaración DDL en diferentes archivos (un archivo para cada objeto, ya sea una tabla, un procedimiento, una vista, etc.) para poder escribir código y ver la estructura de la base de datos sin una conexión de base de datos. . La otra ventaja de trabajar con archivos DDL es que no tengo que conectarme a la base de datos para generar un DDL cada vez que necesito revisar las definiciones de las tablas. En Toad for Oracle, la forma de hacerlo es ir a Base de datos -> Exportar y seleccionar el elemento de menú apropiado según lo que desee exportar. Le da una buena imagen de la base de datos en ese momento.¿Hay alguna herramienta para generar una base de datos completa DDL para SQL Server? ¿Qué pasa con Postgres y MySQL?

¿Existe una herramienta de "lote" que exporta
- todos los DDL de mesa (incluyendo índices, compruebe/restricciones de referencia)
- todo el código fuente (archivos separados para cada procedimiento, función)
- todos los puntos de vista
- todas las secuencias
de SQL Server?

¿Qué pasa con PostgreSQL?
¿Qué hay de MySQL?
¿Qué hay de Ingres?

No tengo preferencia si la herramienta es de código abierto o comercial.

+0

I le hubiera gustado otorgar la respuesta a más de una respuesta, , ya que cada respuesta es específica de DB y la pregunta se planteó sobre la mayoría de los sistemas principales de base de datos . –

Respuesta

8

En PostgreSQL, basta con utilizar la opción -s para pg_dump. Puede obtenerlo como un script SQL simple (un archivo para toda la base de datos) en un formato personalizado que luego puede lanzar un script para obtener un archivo por objeto si lo desea.

La herramienta PgAdmin también le mostrará el volcado de SQL de cada objeto, pero no creo que haya una buena manera de obtenerlos todos a la vez desde allí.

4

MySQL tiene una gran herramienta llamada MySQL workbench que le permite invertir y reenviar las bases de datos de ingeniería, así como sincronizar, lo que realmente me gusta. Puede ver el DDL al ejecutar estas funciones.

7

Para mysql, utilizo mysqldump. El comando es bastante simple.

$ mysqldump [opciones] [tablas] nombre_de_base_de_datos

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

$ mysqldump [opciones] --all-bases de datos

Un montón de opciones para esto. Take a look here para una buena referencia.

30

Para SQL Server:

En SQL Server Management Studio, haga clic derecho en su base de datos y seleccione 'Tareas' -> 'generar secuencias de comandos'.

Se le pedirá que elija qué objetos DDL incluir en su secuencia de comandos.

+5

¿hay una opción para hacerlo usando la línea de comando? – vumaasha

+0

Mientras buscaba una opción con guión completo, ¡esta es la mejor respuesta que he encontrado! – CoveGeek

2

escribí SMOscript el que hace lo que usted está pidiendo (en referencia a MSSQL Server)

0

Siguiendo lo que dijo Daniel Vassallo, esto funcionó para mí:

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

Además del asistente "generar secuencias de comandos" en SSMS ahora se puede utilizar mssql -scripter que es una herramienta de línea de comandos para generar scripts DDL y DML.

Es una herramienta de código abierto y basada en Python que puede instalar a través de: pip install mssql-scripter.

A continuación, se incluye un ejemplo de lo que puede usar para realizar un script del esquema y los datos de la base de datos en un archivo. mssql-guionista -S localhost -d AdventureWorks U sa --schema-y-datos> ./adventureworks.sql Más guías: https://github.com/Microsoft/sql-xplat-cli/blob/dev/doc/usage_guide.md

Y aquí está el enlace al repositorio GitHub: https://github.com/Microsoft/sql-xplat-cli

Cuestiones relacionadas