2013-03-03 28 views
46

Tôi mới sử dụng Heroku và tôi có ứng dụng Ruby/Sinatra, trong đó tôi dự định sử dụng cơ sở dữ liệu MySQL làm kho dữ liệu chính.Làm thế nào để triển khai cơ sở dữ liệu MySQL cục bộ cho Heroku

Tuy nhiên, tôi không muốn viết kết quả trực tiếp vào cơ sở dữ liệu trên Heroku. Thay vào đó, tôi muốn ghi kết quả vào một cơ sở dữ liệu cục bộ, và sau đó có thể dễ dàng triển khai/cập nhật/sao chép DB cục bộ của tôi vào cơ sở dữ liệu "sản xuất" trên Heroku.

Làm cách nào để thực hiện việc này?

Cảm ơn.

Trả lời

45

Trước tiên, Heroku sử dụng nguồn gốc postgres. Cuộc sống sẽ dễ dàng hơn cho bạn nếu bạn sử dụng nó cục bộ.

Bạn có thể nhập/xuất khẩu postgres đổ tập tin từ Heroku như đã mô tả ở đây: https://devcenter.heroku.com/articles/heroku-postgres-import-export

Nếu bạn thực sự muốn sử dụng mysql, bạn có hai con đường để làm theo.

1) Chạy mysql tại địa phương, nhưng chuyển sang postgres khi chuyển sang Heroku sử dụng đá quý mysql2psql, như mô tả ở đây: https://devcenter.heroku.com/articles/heroku-mysql

2) Sử dụng một addon mysql như https://addons.heroku.com/cleardb

Tuy nhiên đề nghị của tôi sẽ được sử dụng postgres kết thúc để kết thúc, khi nó được nướng vào Heroku, và bạn sẽ làm việc với các cách mặc định của việc sử dụng Heroku, không phải chống lại chúng.

Postgres cũng rất tốt!

+0

Hi Dan, vâng tôi đã xem xét sử dụng addon cleardb. Nếu tôi sử dụng postgres, sẽ nhập/xuất chỉ cần viết trên cơ sở dữ liệu của tôi? Tôi cũng đoán có một số đá quý ruby ​​postgres mà sẽ cho phép tôi kết nối trực tiếp với DB và viết cho nó. – Ken

+0

Nhập/xuất sẽ ghi đè. Thành thật mà nói, tôi không chắc ý bạn là gì "Thay vào đó, tôi muốn viết kết quả vào cơ sở dữ liệu cục bộ, và sau đó có thể dễ dàng triển khai/cập nhật/sao chép DB cục bộ của tôi vào cơ sở dữ liệu" sản xuất "trên Heroku". Tôi lấy điều đó để có nghĩa là bạn tạo dữ liệu cục bộ, sau đó chuyển nó vào Heroku, nhưng có lẽ bạn có ý nghĩa gì đó khác. – DanSingerman

+0

Được rồi. Nếu tôi muốn đọc/ghi vào DB thay vì sử dụng nhập/xuất, tôi có thể sử dụng đá quý 'pg' và tạo kết nối, đúng không? Tôi không thể tìm thấy bất kỳ ví dụ tốt về việc sử dụng đá quý 'pg' để đọc/ghi. Bất kỳ đề xuất sẽ được đánh giá rất cao! – Ken

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