Quando insiro a linha de comando no cmd e clico no enter, aparece um Fatal error dizendo que o arquivo cli-config.php deve retornar uma instância de "Doctrine\Migrations\DependencyFactory".
Quando insiro a linha de comando no cmd e clico no enter, aparece um Fatal error dizendo que o arquivo cli-config.php deve retornar uma instância de "Doctrine\Migrations\DependencyFactory".
Fala, Alexandre.
Você pode postar o conteúdo de cli-config.php
e um print com o erro, por favor?
Olá!
Estou recebendo o mesmo erro.
Conteúdo de cli-config.php
:
<?php
use Alura\Doctrine\Helper\EntityManagerFactory;
use Doctrine\ORM\Tools\Console\ConsoleRunner;
// replace with file to your own project bootstrap
require_once __DIR__ . '/vendor/autoload.php';
// replace with mechanism to retrieve EntityManager in your app
$entityManagerFactory = new EntityManagerFactory();
$entityManager = $entityManagerFactory->getEntityManager();
return ConsoleRunner::createHelperSet($entityManager);
Erro:
Fatal error: Uncaught RuntimeException: Configuration file "/Users/thibook/workspace/estudos/alura-php/doctrine/cli-config.php" must return an instance of "Doctrine\Migrations\DependencyFactory" in /Users/thibook/workspace/estudos/alura-php/doctrine/vendor/doctrine/migrations/lib/Doctrine/Migrations/Tools/Console/ConsoleRunner.php:73
Stack trace:
#0 /Users/thibook/workspace/estudos/alura-php/doctrine/vendor/doctrine/migrations/bin/doctrine-migrations.php(41): Doctrine\Migrations\Tools\Console\ConsoleRunner::findDependencyFactory()
#1 /Users/thibook/workspace/estudos/alura-php/doctrine/vendor/doctrine/migrations/bin/doctrine-migrations.php(44): Doctrine\Migrations\{closure}()
#2 /Users/thibook/workspace/estudos/alura-php/doctrine/vendor/doctrine/migrations/bin/doctrine-migrations(8): require('/Users/thibook/...')
#3 {main}
thrown in /Users/thibook/workspace/estudos/alura-php/doctrine/vendor/doctrine/migrations/lib/Doctrine/Migrations/Tools/Console/ConsoleRunner.php on line 73
Thiago, pelo erro, você está utilizando a versão 3 das migrations que foi lançada há pouquíssimo tempo (semana passada, se não me engano).
Aqui nesse link, aparentemente, tem explicações detalhadas sobre o problema: https://github.com/doctrine/migrations/issues/986
Me diz se você conseguiu resolver com a solução proposta lá. :-)
Estou com o mesmo problema, tentei a solução sugerida e fui seguindo a documentação, mas ele pede para alterar um arquivo externo ao projeto, daí fiquei na dúvida se estava realmente no caminho certo.
Podia me dizer qual seria a melhor saída?
Fala, Thyago. Não entendi bem. Que arquivo externo ele pede pra alterar? Ele só diz pra alterar o cli-config.php
.
Então Vinícios, quando eu altero o cli-config.php
ele além de fazer as importações necessárias pede a implementação de uma interface dentro do Configuration.php, eu mandei implementar a interface (ele deve deixar uma implementação genérica lá que lança uma exceção).
Ele retorna algo assim:
Fatal error: Class Doctrine\ORM\Configuration contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (Doctrine\Migrations\Configuration\Migration\ConfigurationLoader::getConfiguration) in D:\Alura\PHP\doctrine-alura\vendor\doctrine\orm\lib\Doctrine\ORM\Configuration.php on line 56
Bem... eu irei seguir o curso e baixar a versão do projeto que tem disponível na próxima aula, mas seria interessante adaptar para ou deixar uma notificação para baixar a versão específica do migrations deste treinamento.
Fala Thiago.
Aparentemente existe um pull request pra corrigir o bug, então assim que ele for merged esse problema não vai existir. Acho que o melhor por agora é realmente usar a versão anterior do pacote de migrations pra não se prender a esses detalhes. :-)