Миграция Symfony3.4 / Doctrine - в драйвере возникла исключительная ситуация: SQLSTATE [HY000] [2002] Нет такого файла или каталога - PullRequest
0 голосов
/ 11 сентября 2018

Я пытаюсь запустить Doctrine-миграции в проекте Symfony3.4, но я застрял на пару дней. Кто-нибудь сталкивался с такой же проблемой? Как заставить это работать? Заранее спасибо!

php bin/console doctrine:migrations:migrate Version20180909015642

19:03:19 ERROR     [console] Error thrown while running command 
"doctrine:migrations:migrate". Message: "An exception occured in 
driver: SQLSTATE[HY000] [2002] No such file or directory" ["exception" 
=> Doctrine\DBAL\Exception\ConnectionException { …},"command" => 
"doctrine:migrations:migrate","message" => "An exception occured in 
driver: SQLSTATE[HY000] [2002] No such file or directory"] []

In AbstractMySQLDriver.php line 103:

  An exception occured in driver: SQLSTATE[HY000] [2002] No such file 
or directory  

In PDOConnection.php line 47:

  SQLSTATE[HY000] [2002] No such file or directory  

In PDOConnection.php line 43:

  SQLSTATE[HY000] [2002] No such file or directory  

Пакет зарегистрирован в AppKernel.php

new Doctrine\Bundle\MigrationsBundle\DoctrineMigrationsBundle(),

В config.yml

doctrine_migrations:
    dir_name: "%kernel.root_dir%/DoctrineMigrations"
    namespace: Application\Migrations
    table_name: doctrine_migration_versions
    name: Application_Migrations_Default

Приложение / DoctrineMigrations / Version20180909015642.php

<?php
declare(strict_types=1);

namespace Application\Migrations;

use Doctrine\DBAL\Migrations\AbstractMigration;
use Doctrine\DBAL\Schema\Schema;

/**
 * Auto-generated Migration: Please modify to your needs!
 */
class Version20180909015642 extends AbstractMigration
{


    /**
     * @param Schema $schema
     */
    public function up(Schema $schema)
    {
        //...
    }

    /**
     * @param Schema $schema
     */
    public function down(Schema $schema)
    {
        //...
    }
}

1 Ответ

0 голосов
/ 12 сентября 2018

Команды консоли имеют опции справки -h, которые очень полезны.

 php bin/console doctrine:migrations -h

Сказал, что для перехода к конкретному файлу миграции вы должны использовать метку времени окончательного файла миграции, как показано ниже

 php bin/console doctrine:migrations:migrate 20180909015642

Для выполнения конкретного файла миграции следует использовать команду execute; как после

php bin/console doctrine:migrations:execute 20180909015642 --up

Получить справку по конкретной команде, чтобы увидеть полное объяснение и примеры

php bin/console doctrine:migrations:execute -h

php bin/console doctrine:migrations:migrate -h
...