symfony 1.4
과 Doctrine
을 사용하여 일종의 mini-CMS를 만들었습니다. 데이터베이스를 사용하여 다른 페이지와 범주를 저장합니다.심포니 1.4에서 작업을 구성하는 방법은 무엇입니까?
고객 정보를 검색하기 위해 databases.yml
에 다른 연결을 추가했습니다.
symfony
에 해당 데이터베이스는 읽기 전용이며, 절대로 쓰지 않아야 함을 알려드립니다.
잠시 동안 읽을 수만있는 두 번째 데이터베이스에서 사용자를 만들었습니다. doctrine:build --all
과 같은 명령이 계속 쓰려고하지만 트릭을 수행하는 것 같습니다.
편집 : 파스칼의 대답 덕분에, 나는 이벤트를 사용하여 doctrine에게 sfDoctrineDropDbTask
작업에 대해서 단 하나의 db만을 사용하도록 알려줍니다.
public function setup()
{
(...)
$this->dispatcher->connect('command.filter_options', array($this, 'filterCommandOptions'));
}
public function filterCommandOptions(sfEvent $event, $options)
{
if ('sfDoctrineDropDbTask' === get_class($event->getSubject()))
$options = array('base1');
elseif ('sfDoctrineBuildDbTask' === get_class($event->getSubject()))
$options = array('base1');
elseif ('sfDoctrineDataDumpTask' === get_class($event->getSubject()))
$options = array('base1');
//elseif ('sfDoctrineInsertSqlTask' === get_class($event->getSubject()))
//$options = array('base1');
elseif ('sfDoctrineCreateModelTables' === get_class($event->getSubject()))
$options = array('base1');
return $options;
}
이 트릭은 다른 작업을 위해 작동하지 않습니다
이doctrine:data-dump
여전히 두 데이터베이스를 읽고,- 교리가 여전히
doctrine:build --all
작업 중에 쓰려고 sfDoctrineInsertSqlTask
가 불평 I 너무 많은 옵션을 주었다.
아주 좋은, 더 longers을 심포니되지는 DB를 드롭하려고! "sfDoctrineDropDbTask"와 같은 다른 명령 이름은 어디에서 찾을 수 있습니까? – Manu
을 찾았습니다. 이상한, sfDoctrineInsertSqlTask – Manu
(주어진 인수가 너무 많음)에서 작동하지 않습니다. – Manu