我正在学习本教程。http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/tutorials/getting-started.html
我正在使用mysql
而不是sqlite
.
以下命令应创建数据库。
php vendor/bin/doctrine orm:schema-tool:create
但它没有创造任何东西。如果我手动创建数据库,以下命令工作正常
php vendor/bin/doctrine orm:schema-tool:update --force
知道为什么该命令不起作用吗?
学说版本 2.4.1
试试这个链接:
vendor/bin/doctrine-module orm:schema-tool:create
用户学说模块而不是学说。
我遇到了类似的问题,发现下面的命令
php vendor/bin/doctrine orm:schema-tool:create
不创建数据库本身,它只创建架构/表。
我通过执行以下操作解决了这个问题:
<?php
include 'bootstrap.php';
use DoctrineORMToolsConsoleConsoleRunner,
DoctrineORMEntityManager;
try {
$entityManager->getConnection()->connect();
}
catch(Exception $ex) {
$connection = EntityManager::create([
'driver' => 'pdo_mysql',
'host' => MYSQL_HOST,
'user' => MYSQL_USERNAME,
'password' => MYSQL_PASSWORD,
'charset' => 'UTF8'
], $config)->getConnection();
$connection->executeUpdate('CREATE DATABASE '.MYSQL_DATABASE.' CHARACTER SET utf8 COLLATE utf8_general_ci');
}
return ConsoleRunner::createHelperSet($entityManager);
?>
基本上,脚本尝试连接到指定的数据库,如果失败,它将尝试创建数据库(假设允许用户执行数据库创建 - 删除此文件可能是谨慎的部署后)。
来源: http://www.cstruter.com/blog/395