1
resposta

Doctrine\DBAL\Exception\SyntaxErrorException

Poderiam postar como fica o código do migration.php com a versão 3?

Tentei fazer, porem retona uma serie de erros, tentei postar aqui mas passa do limite de caracteres. Começa com essa mensagem..

 In AbstractSQLiteDriver.php line 75:

[Doctrine\DBAL\Exception\SyntaxErrorException]                                                                                                     
  An exception occurred while executing 'CREATE TABLE Fundamentos Doctrine (version VARCHAR(1024) NOT NULL, executed_at DATETIME DEFAULT NULL, exec  
  ution_time INTEGER DEFAULT NULL, PRIMARY KEY(version))':                                                                                           

  SQLSTATE[HY000]: General error: 1 near "Doctrine": syntax error     

Depois de varias linhas, exibe outra mensagem...

In Exception.php line 18:

  [Doctrine\DBAL\Driver\PDO\Exception (HY000)]                     
  SQLSTATE[HY000]: General error: 1 near "Doctrine": syntax error 

Mais linhas.... Nova mensagem de erro

In PDOConnection.php line 52:

  [PDOException (HY000)]                                           
  SQLSTATE[HY000]: General error: 1 near "Doctrine": syntax error

Poderia ajudar por favor. Tks.

1 resposta

Olá Gustavo,

A principal diferença é onde definimos o namespace e a pasta das migrations, partindo do exemplo disponibilizado pelo doctrine eu modifiquei apenas o array de migrations_paths, o arquivo ed configuração para a v3 ficou assim:

<?php

return [
    'table_storage' => [
        'table_name' => 'doctrine_migration_versions',
        'version_column_name' => 'version',
        'version_column_length' => 1024,
        'executed_at_column_name' => 'executed_at',
        'execution_time_column_name' => 'execution_time',
    ],

    'migrations_paths' => [
        'Alura\\Doctrine\\Migrations' => 'src/Migrations'
    ],

    'all_or_nothing' => true,
    'check_database_platform' => true,
    'organize_migrations' => 'none',
];

Apaga qualquer arquivo de migration que já tiver criado e o arquivo do banco e tenta novamente o comando migrations:diff se ainda não der certo. Qualquer coisa é só falar!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software