2011-02-09 39 views
6

Tôi vừa triển khai một số thay đổi mã và cơ sở dữ liệu cho Heroku và tôi muốn cuộn lại. Tôi có bản phát hành tiện ích bổ sung và có thể quay lại mã nhưng không có cơ sở dữ liệu. Tôi đã không sao lưu cơ sở dữ liệu nên tôi không thể khôi phục. Tôi đã thử "heroku rake db: rollback" nhưng nó không làm gì cả. Có ai biết?Làm thế nào để khôi phục cơ sở dữ liệu di chuyển trên Heroku

+0

db: rollback của bạn hoạt động trên máy cục bộ? – shingara

+0

Chỉ cần quay trở lại trên máy cục bộ của bạn, sau đó thực hiện một db băm heroku khác: di chuyển không hoạt động? – hahuang65

+0

John Beynon là chính xác. Rollbacks không mang lại dữ liệu. Chỉ thay đổi lược đồ DB. – hahuang65

Trả lời

12

Bạn phải chạy heroku rake db:rollback trong khi mã cập nhật có di chuyển .down được triển khai cho Heroku. Sau đó, bạn có thể khôi phục mã .

+0

Đây là bước bị thiếu, không có di chuyển để rollback để thấy rằng tôi rollback mã đã có, cảm ơn! – Bob

0

db: rollback sẽ khôi phục tệp di chuyển cuối cùng đã được thực thi - bạn có chắc chắn điều này chưa được thực hiện không? Nếu bạn có thể xác định được số di cư mà bạn muốn rollback cho việc triển khai của bạn, bạn có thể làm

rake db:rollback STEP=3 

chạy các phương pháp giảm trong 3 di cư cuối cùng của bạn - điều này là tất nhiên nếu bạn đã mã hóa các di chuyển xuống để hoàn nguyên chính xác những gì đã được thực hiện trong quá trình di chuyển lên :)

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