我希望将数据库连接存储在静态数据库中。按需创建新数据库,将凭证存储在静态数据库中,然后从现有实体中创建新数据库的模式。我知道如何使用symfony的命令行工具做到这一点。我的目标是使其在服务中运行。我查看了Doctrine文档并尝试让一些东西起作用:
$conn =$this->getDoctrine()->getConnection()->getSchemaManager()->createDatabase($dbname);
$isDevMode = true;
$config = Setup::createAnnotationMetadataConfiguration(array('UiCoreDbBundle/Entity'), $isDevMode);
$conn = array(
'driver' => 'pdo_mysql',
'host' => '127.0.0.1',
'user' => 'root',
'dbname' => $dbname
);
$em = EntityManager::create($conn,$config);
$tool = new SchemaTool($em);
$classes = array(
$em->getClassMetadata('Product')
//...
);
$tool->createSchema($classes);
我的示例代码并没有像我希望的那样工作。Doctrine 找不到我的实体。有谁能给我一个提示,关于如何正确地实现这样的任务?