我是新手,请耐心等待。
当我尝试运行vendor/bin/doctrine orm:schema-tool:drop --force
时,出现以下错误消息:
请求了未知的数据库类型枚举,Doctrine \ DBAL \ Platforms \ MySQL57Platform可能不支持。
是的,是的,我知道,我已经读过很多关于this one的话题。
我的问题是,我希望它像文档中那样在bootstrap.php
的{{1}}中完成。
这是我的代码:
cli-config.php
我试图将这一行添加到参数中:
$isDevMode = true;
$paths = [APP_DIR . 'classes/Entities'];
$dbParams = [
'driver' => 'pdo_mysql',
'user' => Config::DB_USER,
'password' => Config::DB_PASSWORD,
'dbname' => Config::DB_DATABASE
];
$config = Setup::createAnnotationMetadataConfiguration($paths, $isDevMode);
return \Doctrine\ORM\EntityManager::create($dbParams, $config);
但是文档清楚地说明了参数中可以包含哪些选项。
我无法更改数据库。这不是一个symfony项目。
有人有主意吗?
答案 0 :(得分:0)
好的,这可能是一个解决方案。
基于this post,我已经更改了代码,如下所示:
...
$config = Setup::createAnnotationMetadataConfiguration($paths, $isDevMode);
$entityManager = \Doctrine\ORM\EntityManager::create($dbParams, $config);
$conn = $entityManager->getConnection();
$sqlSchemaManager = new SQLServerSchemaManager($conn);
$sqlSchemaManager->getDatabasePlatform()->registerDoctrineTypeMapping('enum', 'string');
return $entityManager;