Như bạn đã biết, bạn PHẢI cung cấp tên cơ sở dữ liệu, tên người dùng và mật khẩu chính xác cho cơ sở dữ liệu trong tệp config/database.yml hoặc ứng dụng Rails của bạn sẽ từ chối hoạt động.Đảm bảo cung cấp mật khẩu cơ sở dữ liệu trong ứng dụng Rails
Trong thiết lập mặc định, mật khẩu của bạn ở dạng văn bản thuần túy trong tệp config/database.yml. Nếu ứng dụng của bạn nằm trong kho lưu trữ GitHub miễn phí thì mật khẩu của bạn là thông tin công khai. Đây không phải là một lựa chọn khả thi cho một ứng dụng nghiêm túc. (Nó là OK cho một bài tập hướng dẫn, miễn là bạn không sử dụng mật khẩu này cho bất cứ điều gì khác.)
Tôi có một giải pháp đã làm việc cho tôi cho đến nay, nhưng tôi tự hỏi nếu có cái gì tốt hơn. Bạn có thể xem ví dụ được triển khai của tôi tại https://github.com/jhsu802701/bsf.
Việc tôi làm là thiết lập tệp config/database.yml để cung cấp tên người dùng và mật khẩu cho môi trường phát triển theo chương trình. Đối với môi trường phát triển, tôi thêm các lệnh vào tập lệnh config/database.yml để có được tên người dùng môi trường phát triển (tên người dùng thông thường của tôi cho thiết lập Debian Linux mà tôi sử dụng) và một mật khẩu trống. Đối với môi trường sản xuất, tôi thêm một lệnh trong kịch bản triển khai để lấy tên người dùng và mật khẩu từ các tệp khác ở tài khoản của tôi và ghi thông tin này vào tệp config/database.yml.
Có giải pháp nào tốt hơn không?
Có đá quý Ruby bao gồm điều này không? Nếu không, tôi đang nghĩ đến việc tạo ra một cái.