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
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.
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: P3018A 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.
Acredito que basta alterar a ordem das queries, primeiro o ALTER TABLE, e depois o UPDATE.