Vuelque el esquema utilizando pg_dump
. descartar la base de datos, recrearla y cargar el esquema.
volcar esquema de base de datos (la etiqueta -s) a un archivo:
pg_dump -s -f db.dump DB-NAME
Eliminar la base de datos:
dropdb DB-NAME
recrearlo:
createdb DB-NAME
Restaurar el esquema solamente :
pg_restore db.dump > psql DB-NAME
Esto debería funcionar en PostgreSQL; Otro DBMS podría tener sus propias herramientas para eso. No sé de ninguna herramienta genérica para hacerlo.
EDIT:
raíz de las observaciones, es posible que desee omitir el comando dropdb
, y simplemente crear otra base de datos con el esquema objeto de dumping. Si todo ha ido bien a través, se puede eliminar la antigua base de datos:
pg_dump -s -f db.dump DB-NAME
createdb DB-NEW-NAME
pg_restore db.dump > psql DB-NEW-NAME
En este punto, usted tiene la base de datos completa en el DB-NAME y un esquema vacío en DB-NEW-NAME. después de estar seguro de que todo está bien, use dropdb DB-NAME
.
Usted DEBERÍAMOS volcar db para este problema puede ser un funcionamiento no resuelto de manera más eficiente. http://stackoverflow.com/questions/2829158 – ijusti