Jak wiadomo, MUSISZ podać poprawną nazwę bazy danych, nazwę użytkownika i hasło do bazy danych w pliku config/database.yml lub Twoja aplikacja Railsowa nie będzie działać.Bezpieczne dostarczanie hasła do bazy danych w aplikacji Railsowej
W domyślnej konfiguracji twoje hasło znajduje się w pliku tekstowym config/database.yml. Jeśli Twoja aplikacja znajduje się w wolnym repozytorium GitHub, twoje hasło to informacja publiczna. To nie jest realna opcja dla poważnej aplikacji. (To jest w porządku do ćwiczenia samouczka, pod warunkiem, że nie używasz tego hasła do niczego innego.)
Mam rozwiązanie, które zadziałało jak dotąd, ale zastanawiam się, czy jest coś lepszego. Mój wdrożony przykład można zobaczyć pod adresem https://github.com/jhsu802701/bsf.
Co mogę zrobić, to skonfigurować plik config/database.yml, aby programowo wprowadzić nazwę użytkownika i hasło dla środowiska programistycznego. Dla środowiska programistycznego dodaję polecenia do skryptu config/database.yml, aby uzyskać nazwę użytkownika środowiska programistycznego (która jest moją zwykłą nazwą użytkownika dla instalacji Debian Linux, której używam) i puste hasło. (Podaję moją nazwę użytkownika uprawnienia administratora PostgreSQL.) W środowisku produkcyjnym dodaję polecenie w skrypcie wdrażania, który pobiera nazwę użytkownika i hasło z plików znajdujących się w innym miejscu na moim koncie i zapisuje te informacje w pliku config/database.yml.
Czy istnieje lepsze rozwiązanie?
Czy istnieje klejnot z rubinem, który to zakrywa? Jeśli nie, myślę o stworzeniu takiego.