Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

Solucionado
(ver solução)
10
respostas

Erro ao criar a tabela

Olá, ao executar o comando create, retornou o seguinte erro:

d:\Desenvolvimento\workspace-php\alura\doctrine-alura>vendor\bin\doctrine.bat orm:schema-tool:create

 ! [CAUTION] This operation should not be executed in a production environment!

 Creating database schema...


In ToolsException.php line 34:

  Schema-Tool failed with Error 'An exception occurred in driver: could not find driver' while executing DDL: CREATE TABLE Aluno (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, nome VARCHAR(255) NOT NULL)


In AbstractSQLiteDriver.php line 70:

  An exception occurred in driver: could not find driver


In PDOConnection.php line 31:

  could not find driver


In PDOConnection.php line 27:

  could not find driver


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

Olá, Ivan.

Na pasta onde você extraiu o PHP, há um arquivo com o nome de php.ini-development. Renomeie-o para php.ini e abra-o em qualquer editor de texto.

Com ele aberto, remova o ; da linha que contenha ;extension=pdo_sqlite. Feito isso, só salvar o arquivo e ser feliz.

:-D

Olá Vinicius,

fiz o que você recomendou, mas percebi que o arquivo doctrine.bat não foi criado.

Como assim, Ivan?

Na sua dúvida original você já estava conseguindo rodar o comando.

Pois é professor, devo ter feito alguma coisa errada ou foi criado em outra pasta... De qualquer maneira, tive que formatar a máquina e aproveitei fiz a instalação do PHP. Ja alterei o php.ini e aparentemente já está ok.

Vou reinstalar o composer e irei rever as aulas para criar o banco com o doctrine.

Veja o --version:

PHP 7.2.19 (cli) (built: May 29 2019 14:00:34) ( NTS MSVC15 (Visual C++ 2017) x64 )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

Professor, o que eu posso ter esquecido de instalar?

composer autodump

[Symfony\Component\Console\Exception\CommandNotFoundException]
  Command "autodump" is not defined.

Tem esse outro aviso:

Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - mpdf/mpdf v7.1.9 requires ext-gd * -> the requested PHP extension gd is missing from your system.
    - mpdf/mpdf v7.1.8 requires ext-gd * -> the requested PHP extension gd is missing from your system.
    - mpdf/mpdf v7.1.7 requires ext-gd * -> the requested PHP extension gd is missing from your system.
    - mpdf/mpdf v7.1.7 requires ext-gd * -> the requested PHP extension gd is missing from your system.
    - Installation request for mpdf/mpdf ^7.1.7 -> satisfiable by mpdf/mpdf[v7.1.7, v7.1.8, v7.1.9].

  To enable extensions, verify that they are enabled in your .ini files:
    - D:\php72\php.ini
  You can also run `php --ini` inside terminal to see which files are used by PHP in CLI mode.

Fala, Ivan!

Deixa eu entender melhor. Você formatou sua máquina? E recomeçou o processo?

O comando autodump não existe. Você quis fazer o dumpautoload?

Quanto ao último erro, você está tentando instalar a biblioteca mpdf. Por que?

Sim, formatei a máquina. Parece que a versão mais nova do Windows 10 exige executar o cmd como administrador. Antes não precisava.

Ai consegui instalar o composer, mas ao instalar um componente, reclama do PHP.ini.

O mPDF era para eu tentar fazer um relatório. Estou procurando alguma ferramenta ou componente que facilite relatórios em vez de fazer com HTML .

solução!

Ah sim, Ivan.

Aí a dúvida não é sobre o curso de Doctrine, então teria sido legal abrir um novo tópico, mas vamos lá.

Basta fazer o mesmo processo que eu comentei na primeira resposta, mas para a biblioteca GD, ou seja, descomentar a linha extension=gd.

;-)

Obrigado Professor, funcionou! Eu uso o Xampp e essas configurações não são necessárias nele. Ainda sou muito noob fora do Xampp e VS Code.

Quanto ao mPdf, me desculpe. Da próxima vez, abro em separado.