EvolutionAPI / evolution-api

Evolution API is an open-source WhatsApp integration API
https://evolution-api.com
Other
1.97k stars 1.1k forks source link

Erro na migração do prisma para PostgreSQL - Invalid input syntax for type integer: "PENDING" #964

Open brunorr opened 1 month ago

brunorr commented 1 month ago

Bem-vido!

O que você fez?

Ocorre um erro na hora que o prisma vai realiza as migrações para o PostgreSQL, mais especificamente no _20241006130306_alter_status_on_messagetable

O que você esperava?

Migrar corretamente

O que vc observou ao invés do que esperava?

Erro na migração

Capturas de Tela/Vídeos

No response

Qual versão da API você está usando?

v2.2.0-homolog

Qual é o seu ambiente?

Docker

Outras expecificações do ambiente

No response

Se aplicável, cole a saída do log

Applying migration 20241006130306_alter_status_on_message_table Error: P3018

A migration failed to apply. New migrations cannot be applied before the error is recovered from. Read more about how to resolve migration issues in a production database: https://pris.ly/d/migrate-resolve

Migration name: 20241006130306_alter_status_on_message_table

Database error code: 22P02

Database error: ERROR: invalid input syntax for type integer: "PENDING"

Position: 0 1 -- AlterTable 2 UPDATE "Message" SET "status" = 'PENDING';

DbError { severity: "ERROR", parsedseverity: Some(Error), code: SqlState(E22P02), message: "invalid input syntax for type integer: \"PENDING\"", detail: None, hint: None, position: Some(Original(47)), where: None, schema: None, table: None, column: None, datatype: None, constraint: None, file: Some("numutils.c"), line: Some(232), routine: Some("pg_strtoint32") }

Notas Adicionais

O erro ocorre pois o campo status é criado como inteiro, e depois se tenta colocar uma string nesse campo.

ALTER TABLE "Message" ADD COLUMN "status" INTEGER;

UPDATE "Message" SET "status" = 'PENDING';   <-- String em campo inteiro

ALTER TABLE "Message"
ALTER COLUMN "status"
SET
    DATA TYPE VARCHAR(30); 

Acredito que basta alterar a ordem das queries, primeiro o ALTER TABLE, e depois o UPDATE.

DiRochaaaaa commented 1 month ago

Estou com EXATAMENTE o mesmo problema