2012-01-10 18 views
6

Tôi đang cố chuyển dữ liệu từ DB sản xuất sang DB dàn dựng của mình mà không thành công.Làm thế nào để chuyển dữ liệu từ DB sản xuất của tôi sang DB dàn dựng của tôi trong heroku?

Tôi đang theo tài liệu hướng dẫn Heroku về nó: http://devcenter.heroku.com/articles/pgbackups#transfers

Đây là các lệnh tôi đã chạy ...

$ heroku addons:add pgbackups --remote staging 
$ heroku addons:add pgbackups --remote production 
$ heroku pgbackups:capture --remote production 
$ heroku pgbackups:restore DATABASE `heroku pgbackups:url --remote production` --remote staging 

Và đây là thông điệp mà tôi có được ...

Usage: heroku pgbackups:restore [<DATABASE> [BACKUP_ID|BACKUP_URL]] 

restore a backup to a database 

if no DATABASE is specified, defaults to DATABASE_URL and latest backup 
if DATABASE is specified, but no BACKUP_ID, defaults to latest backup 

Có vẻ như tôi đang viết sai điều gì đó, nhưng tôi không thể hiểu được.

Tôi cũng đã thử các lệnh tương tự sử dụng tên của các ứng dụng thay vì điều khiển từ xa ...

$ heroku pgbackups:restore DATABASE `heroku pgbackups:url --app myapp` --app myapp-staging 

Nhưng tôi nhận được thông báo tương tự không có giao dịch thực tế đang diễn ra.

Mọi trợ giúp đều được đánh giá cao.

Trả lời

11

Tôi không nghĩ bạn đã chụp chính xác. Luôn luôn sử dụng --app thay vì --remote

$ heroku pgbackups:capture --app myapp 
$ heroku pgbackups:restore DATABASE `heroku pgbackups:url --app myapp` --app myapp-staging 
+0

Cảm ơn Neil. Tôi vừa thử điều đó và tôi nhận được một '! Lỗi tài nguyên không tìm thấy'. Tôi cũng chạy 'heroku pgbackups --app myapp' và nó hiển thị chính xác cho tôi bản sao lưu của tôi để tài nguyên ở đó, nó không tải nó. – rebagliatte

+0

'tài nguyên không tìm thấy' thường được trả về khi bạn sử dụng tên ứng dụng không chính xác - những thông tin này phải được liệt kê trên trang myapps trên trang web heroku. Lệnh Neils chính xác như tôi vừa mới sử dụng nó. –

+0

Cảm ơn John, tôi thề là tôi đang sử dụng đúng tên. Tôi vừa kiểm tra lại rằng chạy 'heroku apps' – rebagliatte

4

Không chắc chắn nếu Heroku đã thay đổi kể từ khi chúng được đăng tải cuối tháng Giêng, nhưng khi tôi chạy

heroku pgbackups:restore DATABASE `heroku pgbackups:url --app myapp` --app myapp-staging 

tôi vẫn tiếp tục nhận được một lỗi mà chỉ nói

"! Backup not found"

Mặc dù, khi tôi chạy lệnh một mình để lấy URL:

heroku pgbackups:url --app myapp 

và sau đó thử URL trong trình duyệt, URL đó đã đúng.

Vì vậy, thay vào đó tôi chỉ cố gắng gửi sao chép/dán URL vào lệnh thay vào đó, như:

heroku pgbackups:restore DATABASE "http://urlgoeshere" --app myapp-staging 

tôi đã phải sử dụng dấu ngoặc kép quanh URL, không có dấu ngoặc kép SINGLE. Nếu không, tôi gặp lỗi này:

The filename, directory name, or volume label syntax is incorrect. 'Expires' is not recognized as an internal or external command, operable program or batch file. 'Signature' is not recognized as an internal or external command, operable program or batch file.

+0

Tôi đã gặp vấn đề tương tự và dán URL như Gayle nói với tôi. –

+0

Ai đó đã nhận xét về Trung tâm Dev của chúng tôi rằng họ đã chạy vào cùng một điều, nhưng tôi đã không thể nhân rộng vấn đề này. Bạn có thể cho tôi biết bạn đã gặp lỗi gì không (nếu có gì hơn "Sao lưu không tìm thấy" ở trên), nếu bạn vẫn thấy sự cố, điều gì xảy ra khi bạn chạy 'set -x' trước (chạy' set + x' sau đó để tắt tiếng vang một lần nữa) và hệ vỏ và hệ điều hành bạn đang sử dụng (Tôi đang sử dụng Heroku Postgres)? –

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