2011-03-01 5 views
1

프로덕션 서버에서 symfony 프로젝트를 구성 할 때 몇 가지 문제가 있습니다. 내가 명령 교리 --build --all 실행하면 프로덕션 환경에서 나에게 오류를 제공 - 그리고을-로드 : Symfony 배치 문제

 
>> doctrine Dropping "doctrine" database 
PHP Notice: Undefined index: dbname in /var/www/sf_project/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Connection.php on line 1472 

Notice: Undefined index: dbname in /var/www/sf_project/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Connection.php on line 1472 
>> doctrine SQLSTATE[42000]: Syntax error or access violation: 1064 You have an erro...e right syntax to use near '' at line 1. Failing Query: "DROP DATABASE " 
>> doctrine Creating "dev" environment "doctrine" database 
PHP Notice: Undefined index: dbname in /var/www/sf_project/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Connection.php on line 1439 

그러나 오류 후 성공적으로 테이블을 작성합니다. 그러나 두 번째 명령을 실행하면 테이블을 조각하는 동안 부분적으로 실패합니다.

프로덕션 환경에 맞게 database.yml 구성을 올바르게 변경했습니다. 여기에 있습니다 :

 
all: 
    doctrine: 
    class: sfDoctrineDatabase 
    param: 
     dsn: mysql:host=localhost;dbname=sf_project 
     port: 3306 
     username: root 
     password: mainserver 

로컬 환경에서도 작동합니다. 어떤 사람이 그것에 대해 밝힐 수 있습니까?

편집 참고 : '/cache//prod/config/config_databases.yml.php'파일의 내용을 'xzyfer'제안으로 추가했습니다.

여기 내용이다 :

 

return array(
'doctrine' => new sfDoctrineDatabase(array (
    'dsn' => 'mysql:host=localhost; dbname=sf_project', 
    'port' => 3306, 
    'username' => 'root', 
    'password' => 'mainserver', 
    'name' => 'doctrine', 
)),); 

답변

1

시도 :

./symfony doctrine:build --all --and-load --env=prod 
+0

@xzyfer : 감사는 그 정의되지 않은 인덱스 오류 메시지를 제거했습니다. 그러나 데이터베이스를 삭제하고 생성하는 동안 또 다른 SQL 오류가 발생합니다. '> doctrine "doctrine"데이터베이스 삭제 >> doctrine SQLSTATE [42000] : Sytax 오류 또는 액세스 위반 : 1064 오류가 발생했습니다. 실패한 쿼리 : "DROP DATABASE" "doctrine"환경 ""doctrine "데이터베이스 생성하기 >> doctrine SQLSTATE [42000] : 구문 오류 또는 액세스 위반 : 1064 오류가 발생했습니다 ... 올바른 구문이 라인 1 근처의 ''근처에서 사용됩니다. 쿼리 실패 : "CREATE DATABASE" ' – med

+0

캐시를 지우셨습니까? 이 오류는 본질적으로 database.yml에 DNS 이름을 지정했다는 것을 말합니다. ./symfony cc first – xzyfer

+0

캐시에 쓰기가 가능합니까? – cuhuak