我正在学习本教程。 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
知道为什么这个命令不起作用?
Doctrine version 2.4.1
答案 0 :(得分:1)
试试这个链接:
vendor/bin/doctrine-module orm:schema-tool:create
用户学说模块而不是学说。
答案 1 :(得分:0)
我遇到了类似的问题,发现下面的命令
php vendor/bin/doctrine orm:schema-tool:create
不创建数据库本身,它只创建模式/表。
我通过以下方式解决了这个问题:
<?php
include 'bootstrap.php';
use Doctrine\ORM\Tools\Console\ConsoleRunner,
Doctrine\ORM\EntityManager;
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);
?>
基本上脚本尝试连接到指定的数据库,如果失败,它会尝试创建数据库(假设允许用户执行数据库创建 - 可能是谨慎删除此文件 部署后。)