2015-02-11 4 views
0

У меня есть проблема с doctrine-module консоли с помощью Zend Framework 2 и PostgreSQLНевозможно создать свою базу данных с помощью доктриной-модуля командной строки

[email protected]:/var/www/zendskeleton$ bin/doctrine-module orm:schema-tool:create 
PHP Warning: array_map(): An error occurred while invoking the map callback in /var/www/zendskeleton/vendor/doctrine/doctrine-orm-module/src/DoctrineORMModule/Module.php on line 138 

Warning: array_map(): An error occurred while invoking the map callback in /var/www/zendskeleton/vendor/doctrine/doctrine-orm-module/src/DoctrineORMModule/Module.php on line 138 
PHP Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[08006] [7] FATAL: database "zend" does not exist' in /var/www/zendskeleton/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php:43 
Stack trace: 
#0 /var/www/zendskeleton/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php(43): PDO->__construct('pgsql:host=loca...', 'postgres', 'morphy09', Array) 
#1 /var/www/zendskeleton/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOPgSql/Driver.php(46): Doctrine\DBAL\Driver\PDOConnection->__construct('pgsql:host=loca...', 'postgres', 'postgres', Array) 
#2 /var/www/zendskeleton/vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(360): Doctrine\DBAL\Driver\PDOPgSql\Driver->connect(Array, 'postgres', 'postgres', Array) 
#3 /var/www/zendskeleton/vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(429): Doctrine\DBAL\Connection->connect() 
#4 /var/www/zendskeleton/vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(389): Doctrine\DBAL\Connection->getDatabasePlatformVersion() 
#5 /var/www/zendskeleton/vendor/doctrine/dbal/li in /var/www/zendskeleton/vendor/zendframework/zendframework/library/Zend/ServiceManager/ServiceManager.php on line 930 

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[08006] [7] FATAL: database "zend" does not exist' in /var/www/zendskeleton/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php:43 
Stack trace: 
#0 /var/www/zendskeleton/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php(43): PDO->__construct('pgsql:host=loca...', 'postgres', 'postgres', Array) 
#1 /var/www/zendskeleton/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOPgSql/Driver.php(46): Doctrine\DBAL\Driver\PDOConnection->__construct('pgsql:host=loca...', 'postgres', 'postgres', Array) 
#2 /var/www/zendskeleton/vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(360): Doctrine\DBAL\Driver\PDOPgSql\Driver->connect(Array, 'postgres', 'postgres', Array) 
#3 /var/www/zendskeleton/vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(429): Doctrine\DBAL\Connection->connect() 
#4 /var/www/zendskeleton/vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(389): Doctrine\DBAL\Connection->getDatabasePlatformVersion() 
#5 /var/www/utilcore/vendor/doctrine/dbal/li in /var/www/zendskeleton/vendor/zendframework/zendframework/library/Zend/ServiceManager/ServiceManager.php on line 930 

У меня есть doctrine.local.php конфигурационный файл:

<?php 

return [ 
    'doctrine' => [ 
     'connection' => [ 
      'orm_default' => [ 
       'driverClass' =>'Doctrine\DBAL\Driver\PDOPgSql\Driver', 
       'params' => [ 
        'host'  => 'localhost', 
        'port'  => '5432', 
        'user'  => 'postgres', 
        'password' => 'postgres', 
        'dbname' => 'zend', 
       ] 
      ] 
     ] 
    ] 
]; 

В принципе, я не могу создать свою базу данных с помощью команды cline доктрины-модуля.

Почему я получаю эту ошибку?

Если я создаю базу данных с помощью psql, все команды модуля doctrine работают очень хорошо, но модуль-доктрина orm: schema-tool: create есть для этого?

ответ

1

Ошибка возникает из-за того, что доктрина пытается создать ваши таблицы в базе данных с именем zend, и эта база данных не существует. Вы должны проверить настройку своей базы данных и посмотреть, есть ли доступная база данных с именем zend.

+0

Но команда 'bin/doctrine-module orm: schema-tool: create' не должна создавать базу данных для меня? –

+1

@RicardoSimas: команда [create-scheme] (http://doctrine-orm.readthedocs.org/en/latest/reference/tools.html#database-schema-generation) создаст схему базы данных в данной базе данных. «Он будет падать или изменять таблицы, индексы, последовательности и т. Д.», Поэтому он не будет создавать базу данных. – Wilt

+0

Спасибо, теперь я понимаю, что здесь произошло. –

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