2011-12-13 33 views
12

Khi làm việc trên dự án đường ray (Tôi vẫn đang trong giai đoạn "người mới bắt đầu" học tập tại thời điểm này), tệp config/database.yml có vẻ là một nơi mà những thứ như mật khẩu cơ sở dữ liệu vv đi. Tuy nhiên, không ai có vẻ khuyên bạn nên đặt nó trong tệp .gitignore - tại sao?Bỏ qua .gitignore config/database.yml trong dự án đường ray

Chắc chắn tôi sẽ cần phải loại trừ chi tiết cấu hình cơ sở dữ liệu nhạy cảm này hoặc của tôi sẽ trở thành kiến ​​thức công cộng nếu tôi được đẩy vào github.

Trả lời

12

database.yml là nơi thích hợp cho cấu hình cơ sở dữ liệu thông tin của bạn. Thông thường bạn sẽ cam kết database.yml trong khi chỉ được định cấu hình với môi trường phát triển và thử nghiệm của bạn.

Tôi không có mật khẩu trên các phiên bản Postgres và MySQL cục bộ của mình để tôi có thể cam kết an toàn database.yml. Nếu bạn muốn bỏ qua nó, chỉ cần thêm database.yml dòng vào cuối tệp .gitignore của bạn. Bạn sẽ cần phải chắc chắn rằng nó được làm sạch và cam kết trước khi bỏ qua nó. Sau đó, bạn có thể thực hiện các thay đổi của mình một cách an toàn.

Khi bạn triển khai sản xuất, bạn sẽ liên kết nó với một bản sao đã được lưu trữ trên máy chủ đó bằng thông tin đăng nhập nhạy cảm.

4

Bạn không nên có mật khẩu trong cơ sở dữ liệu của bạn.yml .... Tôi không. Tại sao bạn có mật khẩu? Nếu bạn triển khai để Heroku đọc: http://devcenter.heroku.com/articles/config-vars

Nếu bạn vẫn muốn bỏ qua nó thêm:

echo "database.yml" >> .gitignore 
+0

Xin chào, xin lỗi vì newbieness - cuốn sách tôi đang đọc gợi ý rằng đây là nơi họ nên đến. Nếu không có trong đó, thì ở đâu? –

+1

Tôi không có bất kỳ mật khẩu nào trong database.yml của mình, tôi đã nói với bạn, tôi sử dụng các biến env trong triển khai. Nếu bạn có mật khẩu trong database.yml, thì hãy thêm nó vào .gitignore. – daniel

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