在Symfony3中创建实体管理器?

时间:2017-12-22 19:01:03

标签: php symfony doctrine-orm

我在Symfony3项目中有一个现有的实体,我正在尝试添加一个实体管理器。我的doctrine.yml文件看起来像这样

doctrine:
 dbal:
  default_connection: default
    connections:
     default: 
      driver:   pdo_mysql
      host:     localhost
      port:     3306
      dbname:   fullstackdb
      user:     root
      password: root
      charset:  UTF8

   lego:
     driver:   pdo_mysql
     host:     localhost
     port:     3306
     dbname:   fullstackdb
     user:     root
     password: root
     charset:  UTF8


  orm:
   default_entity_manager: default
    entity_managers:
     auto_mapping: true
     default:
      connection: default
       mappings:

    lego:
      connection: lego
       mappings:
        AppBundle: ~

然而,无论何时我尝试通过php bin / console doctrine访问此实体管理器:database:create --connection = lego ,它说经理不存在!我不确定我是否错过了一个步骤 - 我创建管理器的唯一方法就是制作yml文件。

当我运行bin / console debug:container时,它不会显示出来。  感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

1)您在没有schema_filters的两个不同实体管理器中的同一主机上使用相同的模式名称(数据库名称)。这意味着当您对其中一个实体管理器进行更新时,它将尝试删除其他实体管理器的数据。

2)您正在询问实体经理,但在命令中您正在传递连接。

3)运行php bin / console debug:container | grep doctrine

这将为您提供所有学说服务。相应地更新您的问题。

4)提供您获得的确切命令和确切错误,以便我们可以将其追踪到原点

5)有关更多信息,请在详细模式下运行命令,在末尾添加-v

6)您是否在config.yml中导入了doctrine.yml?