Rails database.yml을 관리하는 방법
여러 사람이 프로젝트에서 작업하고 데이터베이스 위치가 다른 경우 (특히 소켓) Rails database.yml을 처리하는 가장 좋은 방법은 무엇입니까?
먼저 database.yml
템플릿 파일 로 이동 합니다.
Git을 사용하는 경우 :
git mv config/database.yml config/database.yml.example
git commit -m "moved database.yml to an example file"
또는 Subversion을 사용하는 경우 :
svn move config/database.yml config/database.yml.example
svn ci -m "moved database.yml to an example file"
둘째, .yml 버전을 무시하십시오.
Git을 사용하는 경우 :
cat > .gitignore
config/database.yml
git add .gitignore
git commit -m "ignored database.yml"
Subversion을 사용하는 경우 :
svn propset svn:ignore config "database.yml"
셋째, database.yml은 어디에 있습니까? :
script/plugin install git://github.com/technicalpickles/wheres-your-database-yml-dude
이 플러그인은 자체 로컬 버전을 만들지 않은 경우 Rake 작업이 실행되기 전에 개발자에게 경고합니다 config/database.yml
.
넷째, Capistrano 배포 작업을 설정합니다.
# in RAILS_ROOT/config/deploy.rb:
after 'deploy:update_code', 'deploy:symlink_db'
namespace :deploy do
desc "Symlinks the database.yml"
task :symlink_db, :roles => :app do
run "ln -nfs #{deploy_to}/shared/config/database.yml #{release_path}/config/database.yml"
end
end
다섯째, 서버의 database.yml 버전을 업로드합니다.
scp config/database.yml user@my_server.com:/path_to_rails_app/shared/config/database.yml
Capistrano 3에서는 새 작업을 추가하는 대신 다음을 수행 할 수 있습니다.
set :linked_files, %w{config/database.yml}
svn : ignore 속성을 사용하여 해당 파일의 버전이 지정되지 않도록 할 수 있습니다.
Capistrano와 ERb를 사용하여 배포 중에 자격 증명을 묻는 또 다른 방법입니다.
http://www.simonecarletti.com/blog/2009/06/capistrano-and-database-yml/
위의 답변 외에도 "Where 'your database.yml, dude?"와 유사한 레이크 작업을 작성했지만 모든 구성 파일의 템플릿 예제를 유지할 수 있습니다. 확인 : https://github.com/Velid/exemplify
별도의 프로덕션 구성을 작성하고 Capistrano를 통해 연결하는 대신 자격 증명에 환경 변수를 사용하는 것이 좋습니다.
password: <%= ENV['PROD_DATABASE_PASSWORD'] %>
이 작업을 수행 할 수 있는 유용한 도구 와 방법 이 많이 있습니다.
참고 URL : https://stackoverflow.com/questions/1449836/how-to-manage-rails-database-yml
'program tip' 카테고리의 다른 글
한 클래스를 제외한 모든 요소에 대해 CSS 규칙을 만드는 방법은 무엇입니까? (0) | 2020.09.24 |
---|---|
Backbone.js : 뷰를 다시 채우거나 다시 만드시겠습니까? (0) | 2020.09.24 |
왼쪽 조인이있는 상위 1 (0) | 2020.09.24 |
오류 : 매개 변수 1에 제공된 기본 인수 (0) | 2020.09.24 |
PowerShell 개체가 있는지 확인하는 가장 좋은 방법은 무엇입니까? (0) | 2020.09.24 |