Solucionado (ver solução)
Solucionado
(ver solução)
9
respostas

Erro ao rodar orm:schema-tool:create

Fiz as mudanças necessárias no EntityManagerFactory e quando vou rodar o comando vendor\bin\doctrine.bat orm:schema-tool:create, aparece esse erro:

Creating database schema...


In ToolsException.php line 34:

  Schema-Tool failed with Error 'An exception occurred in driver: SQLSTATE[HY000] [1049] Unknown database 'curso_doctrine'' while executing
   DDL: CREATE TABLE Aluno (id INT AUTO_INCREMENT NOT NULL, nome VARCHAR(255) NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE
   `utf8_unicode_ci` ENGINE = InnoDB


In AbstractMySQLDriver.php line 93:

  An exception occurred in driver: SQLSTATE[HY000] [1049] Unknown database 'curso_doctrine'


In PDOConnection.php line 31:

  SQLSTATE[HY000] [1049] Unknown database 'curso_doctrine'


In PDOConnection.php line 27:

  SQLSTATE[HY000] [1049] Unknown database 'curso_doctrine'


orm:schema-tool:create [--dump-sql]

Isso está ocorrendo por causa da versão do MySQL?

9 respostas

Oi Lúcio, tudo bem?

Observe que o erro informa que o Doctrine desconhece o banco de dados "curso_doctrine".

Você deve primeiramente criar o banco de dados para que depois possa ser gerenciado pelo Doctrine. Em uma das aulas o mestre Vinicius ensinar a fazer a criação do banco através do console do MySql. Outro detalhe também é ver se o MySql está ativo em sua máquina.

Abraço.

Mas eu consegui criar =\

Oi Lúcio, ao rodar o comando "show databases;" no console MySql ele exibe o banco criado por você?

Exibe sim, agr eu estou utilizando o Wamp, você acha que erro está ocorrendo por causa disso?

Acredito que não Lucio, no Wamp deveria funcionar corretamente também. Tem como você mostrar a classe EntityManagerFactory para darmos uma olhada? Caso consiga subir todo projeto para o github é melhor ainda.

Pelo que notei você não conseguiu trabalhar com o driver do sqlite e tentou com o mysql agora, correto? Porém, agora ele reconhece o driver certinho mas não o banco criado por você.

Fala, Lucio. Beleza?

Eu abomino a utilização do Wampp por causa de problemas com infraestrutura que podemos vir a ter, mas se você já está usando, vamos tentar te ajudar...

A mensagem diz que o banco curso_doctrine não existe. Qual host você está usando pra se conectar? Acesse esse host com algum cliente MySQL e você vai ver que o banco não existe nele. :-)

"Qual host você está usando pra se conectar? Acesse esse host com algum cliente MySQL e você vai ver que o banco não existe nele. :-)"

Você não respondeu essas perguntas. O banco existe nesse host? Como você tá acessando pra verificar isso?

solução!

Desculpa Vinicuis, não vi sua mensagem. Eu fiz um teste e ao invés de utilizar o MySQL, criei o banco de dados curso_doctrine no MariaDB, rodei o comando vendor\bin\doctrine.bat orm:schema-tool:create e funcionou .