Khi tôi triển khai ứng dụng Rails với OpsWorks, một cơ sở dữ liệu mới được tạo trong thư mục shared
. Nó bỏ qua hiện tại database.yml
(mà không phải là đúng trong repo), và tôi cũng đã cố gắng chỉ định JSON tùy chỉnh nhưng không có gì hoạt động. Có lẽ tôi có cấu trúc sai?OpsWorks ghi đè cơ sở dữ liệu.yml/bỏ qua JSON tùy chỉnh
{
"deploy": {
"my-app-name": {
"database": {
"adapter": "mysql2",
"encoding": "unicode",
"host": "xxxxxx.rds.amazonaws.com",
"port": "3306",
"database": "db-name",
"pool": "5",
"username": "username",
"password": "password"
}
}
}
}
Chỉ cần để thêm, bởi vì nó đã cho tôi một thời gian để giải quyết điều đó cũng như sau khi tôi có quyền JSON. Trong bảng điều khiển RDS, bạn cần phải thêm nhóm bảo mật từ máy chủ Opsworks Rails vào cá thể RDS của bạn, để cho cá thể đó được phép kết nối với RDS. Vui lòng xem tại đây cách thực hiện: docs.aws.amazon.com/AmazonRDS/latest/UserGuide/… Bạn có thể thử nếu bạn có thể kết nối với cá thể RDS từ ý tưởng Opsworks là ssh đến cá thể và sau đó telnet đến cá thể RDS của bạn, ví dụ telnet Your-RDS-Instance 3306 – Martin
khi triển khai lên OpsWorks, chúng ta có nên đưa 'database.yml' vào ứng dụng của chúng ta không? Tôi đã bao gồm nó và bây giờ đang nhận được liên kết chết "Không thể đọc tập tin" lỗi từ Apache2. Rất bối rối, không chắc chắn về nơi tài liệu này được ghi lại. – mmcrae