2016-02-11 4 views
3

Я после «Начало работы с доктриной» простой, короткий учебник (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 не удается подключиться к базе данных?

Так вот мои детали конфигурации:

<?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); 

ответ

3

Чтобы сделать вашу свалку действительно создать схему, вы должны использовать:

php vendor/bin/doctrine orm:schema-tool:update --dump-sql --force 

--dump-sql показывает вам запрос, --force выполнить его действительно.

Запустите команду без параметров для получения дополнительной информации.

См Tools part of doctrine documentation

+1

Он работает, теперь я вижу свою таблицу в PhpMyAdmin. Спасибо, что ответили на мой глупый вопрос –

Смежные вопросы