首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在symfony 1.4中配置任务?

如何在symfony 1.4中配置任务?
EN

Stack Overflow用户
提问于 2011-11-30 14:58:27
回答 1查看 1.3K关注 0票数 1

我已经使用symfony 1.4Doctrine构建了一种小型CMS。它使用数据库存储不同的页面和类别。

现在,为了检索客户端信息,我向databases.yml添加了另一个连接。

我想向symfony指出,该数据库是只读的,它永远不应该写入它。

目前,我已经在第二个数据库上创建了一个只能读取的用户,尽管像doctrine:build --all这样的命令仍然试图在其中写入,但它似乎能做到这一点。

编辑:感谢Pascal的回答,我用events告诉原则,任务sfDoctrineDropDbTask只使用一个db。

代码语言:javascript
复制
  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 task
  • sfDoctrineInsertSqlTask中编写,抱怨说我给了太多的选择。
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-11-30 15:17:35

您可以强制使用数据库原则的名称:build-all可以使用事件删除。

检查这个:https://gist.github.com/582306

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8327924

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档