2
respostas

[Bug] SQlite

Oi, no treinamento o Vinicius fala sobre o bug do SQlite com os indexes das chaves primárias - o que daria uma certa inconsistência quando fossemos comparar a base de dados com a nossa informação atual de mapeamento migrations:diff.

Aparentemente o problema foi corrigido!

Criei a migration com a tabela de teste e em seguida executei php .\vendor\bin\doctrine-migrations migrations:diff . O retorno foi o drop da tabela teste conforme o esperado já que o ORM já tinha mapeado as entidades e criado o schema conforme ensinado nos vídeos.


<?php

declare(strict_types=1);

namespace App\Migrations;

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

/**
 * Auto-generated Migration: Please modify to your needs!
 */
final class Version20220927164449 extends AbstractMigration
{
    public function getDescription(): string
    {
        return '';
    }

    public function up(Schema $schema): void
    {
        // this up() migration is auto-generated, please modify it to your needs
        $this->addSql('DROP TABLE teste');
    }

    public function down(Schema $schema): void
    {
        // this down() migration is auto-generated, please modify it to your needs
        $this->addSql('CREATE TABLE teste (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, name VARCHAR(255) NOT NULL COLLATE BINARY)');
    }
}
2 respostas

Oi Cláudio, tudo bem? Espero que sim!

Fico feliz em saber que você está acompanhando o treinamento sobre Doctrine.

Pelo que entendi, você criou uma migração para a tabela de teste e, ao executar o comando doctrine-migrations migrations:diff, a tabela teste foi removida. Isso está de acordo com o esperado, pois o ORM já havia mapeado as entidades e criado o esquema.

No entanto, se você está preocupado com a consistência dos índices das chaves primárias do SQLite, é importante lembrar que o problema mencionado pelo Vinicius foi corrigido. Portanto, você não deve encontrar mais essa inconsistência ao comparar a base de dados com a sua informação atual de mapeamento.

Abraços e bons estudos!

OPa, bom saber, Cláudio! Vou até testar aqui. Valeu pelo aviso. :-D :-D