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

[Dúvida] Erro ao migrar tabelas

sempre que tento migrar as tabelas recebo esse erro, só consigo fazer as migrations se deletar todas as tabelas do banco. print com erro no na migração

2 respostas
solução!

Olá Edison! Tudo bem?

Pelo que vejo na imagem, o erro ocorre porque a tabela pedidos já existe no banco de dados, e a migração está tentando criá-la novamente. Isso geralmente acontece quando há um problema de sincronização entre o estado atual do banco de dados e as migrações ou a falta de configuração para validação da existência da tabela.

Para solucionar isso, você pode corrigir a migração. Se a tabela pedidos já existe, você pode modificar a migração para verificar a existência da tabela antes de criá-la. No arquivo de migração, você pode adicionar uma verificação condicional:

import { MigrationInterface, QueryRunner } from "typeorm";

export class AdicionaTabelaPedido1716456911623 implements MigrationInterface {

    public async up(queryRunner: QueryRunner): Promise<void> {
        const tableExists = await queryRunner.hasTable('pedidos');
        if (!tableExists) {
            await queryRunner.query(`
                CREATE TABLE "pedidos" (
                    "id" uuid NOT NULL DEFAULT uuid_generate_v4(),
                    "valor_total" integer NOT NULL,
                    "status" character varying NOT NULL,
                    "created_at" TIMESTAMP NOT NULL DEFAULT now(),
                    "update_at" TIMESTAMP NOT NULL DEFAULT now(),
                    "delete_at" TIMESTAMP,
                    "usuarioId" uuid,
                    CONSTRAINT "PK_ebb5680ed29a24efdc586846725" PRIMARY KEY ("id")
                )
            `);
        }
    }

    public async down(queryRunner: QueryRunner): Promise<void> {
        await queryRunner.query(`DROP TABLE "pedidos"`);
    }

}

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.

Estranho que mesmo deletando as tabelas do banco e tentando refazer a migração deu o mesmo erro, Não cheguei a tentar a solução pois liguei o synchronize e sincronizou certinho. Rodei as migrações de novo e deu tdo certo.