Dump lược đồ bằng cách sử dụng pg_dump
. thả cơ sở dữ liệu, tạo lại và tải giản đồ.
Dump bạn schema cơ sở dữ liệu (thẻ -s) vào một tập tin:
pg_dump -s -f db.dump DB-NAME
Xóa cơ sở dữ liệu:
dropdb DB-NAME
Tái nó:
createdb DB-NAME
Restore schema chỉ :
pg_restore db.dump > psql DB-NAME
Điều này sẽ hoạt động trên PostgreSQL; DBMS khác có thể có công cụ riêng của họ cho điều đó. Tôi không biết bất kỳ công cụ chung nào để làm điều đó.
EDIT:
ý kiến sau đây, bạn có thể muốn bỏ qua lệnh dropdb
, và chỉ đơn giản là tạo ra một cơ sở dữ liệu với schema đổ. Nếu tất cả đều tốt đẹp, bạn có thể xóa cơ sở dữ liệu cũ:
pg_dump -s -f db.dump DB-NAME
createdb DB-NEW-NAME
pg_restore db.dump > psql DB-NEW-NAME
Tại thời điểm này, bạn có toàn bộ cơ sở dữ liệu tại DB-NAME và lược đồ trống tại DB-NEW-NAME. sau khi bạn chắc chắn mọi thứ đều ổn, hãy sử dụng dropdb DB-NAME
.
Nguồn
2010-01-22 14:11:03
Bạn should't đổ db cho điều này operation.This vấn đề có thể giải quyết hiệu quả hơn. http://stackoverflow.com/questions/2829158 – ijusti