我正在关注" Doctrine"简单,简短的教程 (here)
在某些时候,之间会有以下对话 学说和我:
ewandelanoy$ vendor/bin/doctrine orm:schema-tool:create --dump-sql
CREATE TABLE products (id INT AUTO_INCREMENT NOT NULL, name VARCHAR(255) NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB;
ewandelanoy$
所以看起来事情正常;当我去看看 我的数据库用phpAdmin然而,我找到了表 尚未创建。 事实上,当我尝试继续时,我会收到错误消息 教程并使用该表。
我如何"调试Doctrine"在这种情况下 ? 似乎Doctrine无法连接到数据库?
以下是我的配置详情:
<?php
// bootstrap.php
use Doctrine\ORM\Tools\Setup;
use Doctrine\ORM\EntityManager;
require_once "vendor/autoload.php";
$paths = array("src/");
$isDevMode = false;
// the connection configuration
$dbParams = array(
'driver' => 'pdo_mysql',
'user' => 'root',
'password' => 'root',
'dbname' => 'flea_database',
);
$config = Setup::createAnnotationMetadataConfiguration($paths, $isDevMode);
$entityManager = EntityManager::create($dbParams, $config);
答案 0 :(得分:3)
要使转储真正创建架构,您必须使用:
php vendor/bin/doctrine orm:schema-tool:update --dump-sql --force
--dump-sql
向您显示查询,--force
执行它。
运行不带选项的命令以获取更多信息。