2011-03-31 3 views
1

YAML에서 db 테이블을 만들 수있는 명령이 doctrine에 있습니까? ./doctrine generate-yaml-db를 사용하여 YAML을 만들 수 있음을 알 수 있습니다.doctrine yaml에서 db 테이블을 생성하는 방법

하지만 어떻게이 기능을 반대로 수행 할 수 있습니까? yaml에서 db로.

이 같은 어떤 명령 무언가가 생성-DB-YAML ./doctrine

답변

2

yaml 파일에서 데이터베이스를 생성하는 작업은 두 단계로 수행해야합니다.

  1. Doctrine_Core :: generateModelsFromYaml()을 사용하여 yaml 파일에서 모델을 생성하십시오.

  2. Doctrine_Core :: createTablesFromModels()를 사용하여 모델에서 데이터베이스를 생성하십시오.

이 두 함수를 차례로 호출하고 몇 가지 필요한 단계를 자동화하는 명령 줄 스크립트를 작성하는 것이 좋습니다. 다음은 데이터베이스를 다시 생성하는 데 사용하는 스크립트의 핵심입니다.

echo 'Deleting old models...'; 
deleteAllFilesInDirectory(APPPATH . '/models/generated'); 
echo "done.\n"; 

echo 'Generating models...'; 
Doctrine_Core::generateModelsFromYaml('schema.yml', APPPATH . '/models'); 
echo "done.\n"; 

echo 'Recreating database tables...'; 
Doctrine_Core::dropDatabases(); 
Doctrine_Core::createDatabases(); 
Doctrine_Core::createTablesFromModels(APPPATH . '/models'); 
echo "done.\n"; 

echo 'Loading data...'; 
Doctrine_Core::loadData('autoload.yml', 'true'); 
echo "done.\n"; 
0

을 나는 어려운 방법을 발견 한 것처럼이 불가능하다. yaml 파일에서 모델을 생성 한 다음 모델에서 테이블을 생성 할 수 있습니다. 나의 교리는 첫 번째 교리를 완벽하게 다루지 만, 테이블의 생성은 결코 일어나지 않습니다. 나는 여전히 yaml 파일로부터 테이블을 생성하는 해결책을 찾으려고 노력 중이다.

관련 문제