Php 带前缀的多个数据库
我是Zend Framework 2的新手和条令开发人员。我无法找到下面描述的问题的答案 我正在为一个网站使用多个数据库。例如,有一个包含所有用户详细信息的用户数据库和一个包含统计信息的数据库。用户可能有统计信息,因此两个数据库之间存在关系(约束)。对于以前的项目,我使用了一个配置文件和一个带有实体的类/目录(对于一个db)Php 带前缀的多个数据库,php,database,doctrine-orm,zend-framework2,doctrine-odm,Php,Database,Doctrine Orm,Zend Framework2,Doctrine Odm,我是Zend Framework 2的新手和条令开发人员。我无法找到下面描述的问题的答案 我正在为一个网站使用多个数据库。例如,有一个包含所有用户详细信息的用户数据库和一个包含统计信息的数据库。用户可能有统计信息,因此两个数据库之间存在关系(约束)。对于以前的项目,我使用了一个配置文件和一个带有实体的类/目录(对于一个db) 如何在一个项目中使用具有正确表关系的多个数据库 如何/在何处存储数据库配置 如何/在何处存储实体 在同一个项目中,我使用多个版本的数据库(开发、测试、生产),因此我希望
- 如何在一个项目中使用具有正确表关系的多个数据库
- 如何/在何处存储数据库配置
- 如何/在何处存储实体
- 我应该如何为所有数据库添加前缀
- 如何在一个项目中使用具有正确表关系的多个数据库
- 如何/在何处存储数据库配置
/config/autoload/local.php
或/config/autoload/{ownname}.local.php
中,例如,对于ownname,您可以选择“原则”
doctor.local.php
<?php
return array(
'doctrine' => array(
'connection' => array(
'orm_default' => array(
'configuration' => 'orm_default',
'driverClass' =>'Doctrine\DBAL\Driver\PDOMySql\Driver',
'eventmanager' => 'orm_default',
'params' => array(
'host' => 'localhost',
'port' => '3306',
'user' => '{username}',
'password' => '{password}',
'dbname' => '{db}',
),
),
),
),
);
这就是我现在使用的配置。它不适用于多个数据库,因为{db}仅为一个数据库设置。如果你创建一个抽象工厂,你可以在servicemanager中为你的服务添加前缀,并从你提供的配置中创建尽可能多的适配器