我想连接到另一个数据库和/或在symfony中创建一个新数据库。我该怎么做,同时访问它的表?
我正在寻找如何在应用程序中执行此操作
has_subclass(_, _).
但找不到任何答案。
答案 0 :(得分:1)
您不能直接从Symfony创建数据库,但是可以使用Migrations创建表。
如果需要,您甚至可以使用bin/console
和doctrine:migrations:diff
生成迁移,以根据您的实体生成迁移。
对于多个数据库,您可以使用Service Containers来配置Doctrine ORM,然后在代码中可以获取特定的容器并从那里实例化学说。
此外,如果您对选择感兴趣,我会看看DQL,因为它允许如下解决方案:
// This assumes an entity called 'entity' exists.
$query = $entityManager->createQueryBuilder('entity');
return $query->getResult();
答案 1 :(得分:0)
看看这个,应该有帮助:https://symfony.com/doc/current/doctrine/multiple_entity_managers.html
简而言之,您可以定义不同的实体管理器来处理不同的数据库连接
答案 2 :(得分:0)
您需要配置多个实体管理器,选中How to Work with multiple Entity Managers and Connections。
然后您可以使用以下教义命令:
php bin/console doctrine:database:create --connection=<your_entity_manager_name>
php bin/console doctrine:query:sql --connection=<your_entity_manager_name>