2013-04-11 3 views
1

4 개의 레일 환경이 있습니다.프로덕션 환경에서 프로덕션 데이터베이스가 아닌 준비 데이터베이스를 사용 중입니다.

  • 생산

레일이 생산 레일 대신 프로덕션 데이터베이스의 데이터베이스를 준비 사용하고 있다는 사실을 제외하고 준비 및 생산에 완벽 배포를 준비 시험

  • 개발
  • . 내가 도대체 ​​뭘 잘못하고있는 겁니까? 내가 아직 확인하지 않은 것은 무엇입니까? 데이터베이스 설정이 필요한 Capistrano에 뭔가가 있습니까?

    다음은 유의해야 할 사항입니다.

    config/database.yml은 준비 및 프로덕션 데이터베이스를 분명히 구분합니다. 생산 및 스테이징

    staging: 
        adapter: mysql2 
        encoding: utf8 
        database: some_app 
        pool: 5 
        username: some_user 
        password: some_pass 
        host: staging.zzzzz.com 
        port: 1911 
    
    production: 
        adapter: mysql2 
        encoding: utf8 
        database: some_app 
        pool: 5 
        username: some_user 
        password: some_pass 
        host: production.zzzzz.com 
        port: 1611 
    

    레일 환경이 동일하다. 즉, config/environments/staging.rbconfig/environments/staging.rb은 동일합니다.

    프로덕션 환경의 승객 서버는 프로덕션 환경에서 레일스 응용 프로그램을 실행해야합니다. 그 생산 응용 프로그램은 실제로 통합 환경에서 실행중인 발견, 몇 가지 조사 후 라인을 RailsEnv production

    <VirtualHost *:80> 
    
    LoadModule passenger_module /opt/ruby-enterprise-1.8.7-2011.12/lib/ruby/gems/1.8/gems/passenger-3.0.11/ext/apache2/mod_passenger.so 
    PassengerRoot /opt/ruby-enterprise-1.8.7-2011.12/lib/ruby/gems/1.8/gems/passenger-3.0.11 
    PassengerRuby /opt/ruby-enterprise-1.8.7-2011.12/bin/ruby 
    PassengerMaxPoolSize 20 
    
    Include conf/rhapcom.conf 
    Include conf/maintenance.conf 
    Include conf/redirects.conf 
    
    DocumentRoot /var/rails80/current/public 
    <Directory /var/rails80/current/public> 
        RailsEnv production 
        AllowOverride all 
        Options -MultiViews 
    </Directory> 
    
    </VirtualHost> 
    
    Include conf/oldrotw.conf 
    

    를 참조하십시오. 나는 Rails.env 통해 이것을 확인했습니다. 프로덕션 응용 프로그램에서 실행해야하는 환경을 production으로 지정하려면 어떻게합니까?

  • 답변

    1

    RackEnv production을 사용하여 프로덕션 환경을 지정하십시오.


    또한, 나는 도움이되지만 config/database.yml이를 알 수 없습니다

    staging: 
        # ... 
        database: some_app 
        # ... 
    
    production: 
        # ... 
        database: some_app 
        # ... 
    

    모두 준비 및 생산 환경은 동일한 데이터베이스를 사용하도록 구성되어 있습니다.

    레일스는 프로덕션 데이터베이스 대신 스테이징 데이터베이스를 사용합니다.

    아니요, 둘 다 공통 데이터베이스를 공유합니다.

    난 당신이 이런 식으로 뭔가를하고 싶은 생각 :

    staging: 
        # ... 
        database: some_app_staging 
        # ... 
    
    production: 
        # ... 
        database: some_app_production 
        # ... 
    

    지금 두 가지 데이터베이스, 자신의 적절한 환경에서 사용되는 각이있다.

    +0

    이 줄은 어디로 가야합니까? –

    +0

    위 코드에서'RailsEnv production'을 대체하십시오. – Substantial

    +0

    여전히 준비가 실행 중임을 보여줍니다 –

    관련 문제