Dump lo schema utilizzando pg_dump
. rilasciare il database, ricrearlo e caricare lo schema.
eseguire il dump schema del database (il tag s) in un file:
pg_dump -s -f db.dump DB-NAME
eliminare il database:
dropdb DB-NAME
ricrearlo:
createdb DB-NAME
Ripristinare solo lo schema :
pg_restore db.dump > psql DB-NAME
Questo dovrebbe funzionare su PostgreSQL; Altri DBMS potrebbero avere i propri strumenti per questo. Non conosco nessuno strumento generico per farlo.
EDIT:
seguito delle osservazioni, si potrebbe desiderare di saltare il comando dropdb
, e semplicemente creare un altro database con lo schema oggetto di dumping. Se tutto è andato bene attraverso, è possibile eliminare il vecchio database:
pg_dump -s -f db.dump DB-NAME
createdb DB-NEW-NAME
pg_restore db.dump > psql DB-NEW-NAME
A questo punto, si ha la banca dati completa al DB-NAME, e uno schema vuoto a DB-NEW-NAME. dopo che sei sicuro che tutto sia OK, usa dropdb DB-NAME
.
fonte
2010-01-22 14:11:03
È should't discarica db per questo un funzionamento non problema può essere risolto in modo più efficiente. http://stackoverflow.com/questions/2829158 – ijusti