2012-06-12 29 views
39

Possible Duplicate:
How to empty DB in herokuLàm thế nào để rake db: thả và rake db: tạo trên Heroku?

Tôi có cơ sở dữ liệu Postgres trên Heroku. Đây là một trong những phiên bản beta miễn phí. Tại địa phương, khi thử nghiệm, tôi thường chạy rake db: thả & & rake db: tạo & & rake db: di chuyển như một cách để đặt lại cơ sở dữ liệu.

Tuy nhiên, khi tôi cố gắng chạy này trên Heroku, tôi nhận được lỗi:

Couldn't drop mydatabaseid : #<PG::Error: FATAL: permission denied for database "postgres" 
    DETAIL: User does not have CONNECT privilege. 

Uh, ok, vậy làm thế nào mà tôi có để thiết lập lại hoàn toàn cơ sở dữ liệu của tôi, di cư và tất cả mọi thứ?

Trả lời

80

Lệnh pg:reset sẽ tạo lại cơ sở dữ liệu cho bạn. Ví dụ về cách sử dụng:

$ heroku config | grep POSTGRESQL 
HEROKU_POSTGRESQL_RED_URL: postgres://somedatabaseurl 
$ heroku pg:reset HEROKU_POSTGRESQL_RED_URL 
! WARNING: Destructive Action 
! This command will affect the app: myappname 
! To proceed, type "myappname" or re-run this command with --confirm 
> myappname 
Resetting HEROKU_POSTGRESQL_RED_URL (DATABASE_URL)... done 

Lệnh db:reset sẽ cố gắng xóa cơ sở dữ liệu, không phải là điều mà các quyền của Heroku cho phép.

+0

Tuyệt vời! ... bạn sẽ tìm thấy điều đó ở đâu? Tôi đọc tài liệu của họ ở đây: https://devcenter.heroku.com/articles/heroku-postgresql – Geoff

+4

Trong não tôi ở đâu đó - không biết ở đâu. –

+3

Đây là tài liệu về Heroku: https://devcenter.heroku.com/articles/rake – weston

Các vấn đề liên quan