CLI-config.php中
<?php
require_once 'Doctrine/Common/ClassLoader.php';
$path = dirname(dirname(dirname(__FILE__)));
$classLoader = new \Doctrine\Common\ClassLoader('Entities', __DIR__);
$classLoader->register();
$classLoader = new \Doctrine\Common\ClassLoader('Proxies', __DIR__);
$classLoader->register();
$config = new \Doctrine\ORM\Configuration();
$config->setMetadataCacheImpl(new \Doctrine\Common\Cache\ArrayCache);
$config->setProxyDir(__DIR__ . '/Proxies');
$config->setProxyNamespace('Proxies');
$driver = new \Doctrine\ORM\Mapping\Driver\YamlDriver($path . '/doctrine2/default/yml');
$config->setMetadataDriverImpl($driver);
require_once $path . '/database.php';
$db = new DATABASE_CONFIG;
$connectionOptions = array(
'driver' => 'pdo_pgsql',
'host' => $db->default['host'],
'user' => $db->default['login'],
'password' => $db->default['password'],
'dbname' => $db->default['database'],
);
$em = \Doctrine\ORM\EntityManager::create($connectionOptions, $config);
$helperSet = new \Symfony\Component\Console\Helper\HelperSet(array(
'db' => new \Doctrine\DBAL\Tools\Console\Helper\ConnectionHelper($em->getConnection()),
'dialog' => new \Symfony\Component\Console\Helper\DialogHelper(),
'em' => new \Doctrine\ORM\Tools\Console\Helper\EntityManagerHelper($em)
));
通过这些设置,我可以使用以下命令成功生成yml和实体:
doctrine2 orm:convert-mapping --from-database yml yml
doctrine2 orm:generate-entities Entities /
执行命令“doctrine2 orm:validate-schema”时,它显示以下错误:
[ReflectionException]
XXX类不存在
但我可以在Entities文件夹中找到XXX.php。我试图添加名称空间实体,但它仍然无法找到模型。也许我错过了什么?
答案 0 :(得分:1)
doctrine2 orm:convert-mapping --namespace =“Entities \” - from-database yml yml
doctrine2 orm:generate-entities。
doctrine2 orm:validate-schema