我是教义的新手,所以请耐心等待。
当我尝试运行vendor/bin/doctrine orm:schema-tool:drop --force
时,我收到以下错误消息:
是的,是的,请求的未知数据库类型枚举,Doctrine\DBAL\Platforms\MySQL57Platform 可能不支持它。
是的,我知道,我已经读过很多关于这个的话题,比如这个。
我的问题是,我希望它在我的bootstrap.php
中像在文档中一样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 DoctrineORMEntityManager::create($dbParams, $config);
我试图将这一行添加到参数中:
'mapping_types' => ['enum' => 'string']
但是文档清楚地说明了参数中可以包含哪些选项。
我无法更改数据库。这不是一个symfony项目。
有人有想法吗?
,这可能是一个解决方案。
基于这篇文章,我像这样修改了我的代码:
...
$config = Setup::createAnnotationMetadataConfiguration($paths, $isDevMode);
$entityManager = DoctrineORMEntityManager::create($dbParams, $config);
$conn = $entityManager->getConnection();
$sqlSchemaManager = new SQLServerSchemaManager($conn);
$sqlSchemaManager->getDatabasePlatform()->registerDoctrineTypeMapping('enum', 'string');
return $entityManager;