5

Tôi mới đến Cây đậu. Tôi đã tạo ra một ứng dụng Rails và thiết lập cấu hình sản xuất cơ sở dữ liệu để sử dụng các biến môi trường được cung cấp bởi AWS. Tôi đang sử dụng Mysql (mysql2 gem), và muốn sử dụng RDS và Passenger (tôi không có sở thích ở đó).rake db: di chuyển chạy trong phát triển AWS Beanstalk

Trong môi trường phát triển của mình, tôi có thể chạy ứng dụng đường ray với Mysql cục bộ của mình (nó chỉ là một ứng dụng cơ bản mà tôi đã tạo để thử nghiệm). Tôi đã thêm đá quý chở khách vào Gemfile và đi kèm, nhưng tôi đang sử dụng WEBBrick trong quá trình phát triển.

Điều duy nhất tôi không làm bởi cuốn sách là tôi không sử dụng 'eb' mà là cố gắng từ bảng điều khiển. Ứng dụng/môi trường của tôi không chạy được trong khi "rake db: di chuyển" nó vẫn nghĩ rằng tôi muốn nó kết nối với Mysql cục bộ (tôi đoán từ nhật ký rằng nó không nhận thức được RACK_ENV và do đó sử dụng 'phát triển').

Mẹo nào? Tất nhiên tôi có thể thử tiếp theo 'eb', nhưng vẫn thích làm việc với bàn điều khiển.

Kính trọng, Oren

+0

Tôi cũng đã thử với 'eb' và cũng với 'RACK_ENV' và 'RAILS_ENV' trong 'myapp, config' trong .ebextensions.Tôi thực sự bối rối. Không thể là khó khăn, tất cả mọi người sử dụng AWS những ngày này, không? – Oren

Trả lời

2

Trong Elastic Beanstalk (cả web console và cli), bạn có thể vượt qua các biến Environnement. Nếu bạn vượt qua biến số RAKE_ENV, bạn sẽ thay đổi môi trường của mình.

Sau đó bạn vẫn cần chuyển các tham số cơ sở dữ liệu của mình (mật khẩu db, tên, ...) không được mã hóa cứng vào mã.

+0

http://stackoverflow.com/questions/7304576/how-do-i-set-up-the-database-yml-file-in-rails – JDPeckham

3

Bạn đã cố gắng chạy

bin/rake db:migrate RAILS_ENV=development 

? Tôi nhận được cùng một vấn đề và điều đó có hiệu quả đối với tôi.

+0

Không chắc chắn tôi theo dõi. Nơi để chạy này? và tại sao lại phát triển? – Oren

+0

trong bạn cmd và phát triển bởi vì nó là một môi trường phát triển –

1

Tôi khuyên bạn nên bạn nhập vào để EC2 dụ thông qua lệnh này "eb ssh" (Lần đầu tiên bạn cần xác định bạn .pem nào tập tin, nếu bạn chưa có một bạn có thể tạo trong dịch vụ IAM) và kiểm tra nhật ký của bạn để biết thêm thông tin về lỗi của bạn.

Nếu bạn gặp sự cố khi tải lên mã (triển khai eb), bạn có đăng nhập trong tệp này: "/var/log/eb-activity.log" (Nhớ tệp này nằm trong ví dụ EC2 của bạn)

Nếu bạn có một vấn đề với ứng dụng của bạn, bạn có thể đọc các bản ghi trong các tập tin này: "/var/app/support/logs/production.log" hoặc "/var/app/support/logs/passenger.log "

Các đề xuất khác được cài đặt EB CLI phiên bản 3. để quản lý bạn r eb dụ

http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb-cli3-install.html

0

Tôi tin rằng đàn hồi Beanstalk sẽ chạy 'rake db: di chuyển bằng cách riêng của mình. Quả thực nó có vẻ thử, nhưng đó là thất bại. Tôi đã tặng tiền thưởng cho 'Yahs Hef', mặc dù tôi sẽ chỉ thử buổi tối này (Anh). Sự mất phương hướng của tôi với AWS khiến tôi quên đi giải pháp dễ dàng này, khi tự mình chạy di chuyển. Nếu điều này không làm việc một mình, tôi sẽ đơn giản hóa cấu hình cơ sở dữ liệu như possibile.

+0

Nó hoạt động. Đó là sự ngu xuẩn của tôi. Một khi tôi đã cố gắng để chạy di chuyển của bản thân mình, tôi đã nhận ra tôi đã quên một '=' trong '<% RDS ..' (nên được '<% = RDS ..' Tất nhiên. Khác từ đó, đặt bí mật, có thể với một biến môi trường khác, và nó chỉ hoạt động. – Oren

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