44 lines
1.1 KiB
TypeScript
44 lines
1.1 KiB
TypeScript
import { PrismaClient } from "@prisma/client";
|
|
|
|
const prisma = new PrismaClient();
|
|
|
|
async function migrateProcessos() {
|
|
const processos = await prisma.processo.findMany({
|
|
where: {
|
|
OR: [{ tribunalUF: null }, { tribunal: null }],
|
|
},
|
|
});
|
|
|
|
console.log(`Encontrados ${processos.length} processos para migrar`);
|
|
|
|
for (const processo of processos) {
|
|
const { tribunalUF, tribunal } = inferTribunal(processo.orgaoJulgador);
|
|
|
|
await prisma.processo.update({
|
|
where: { id: processo.id },
|
|
data: {
|
|
tribunalUF,
|
|
tribunal,
|
|
},
|
|
});
|
|
}
|
|
|
|
console.log("Migração concluída com sucesso!");
|
|
}
|
|
|
|
function inferTribunal(orgaoJulgador: string): {
|
|
tribunalUF: string;
|
|
tribunal: string;
|
|
} {
|
|
if (orgaoJulgador.includes("TJTO"))
|
|
return { tribunalUF: "TO", tribunal: "TJTO" };
|
|
if (orgaoJulgador.includes("TRF1"))
|
|
return { tribunalUF: "DF", tribunal: "TRF1" };
|
|
// ...adicionar mais casos conforme necessário
|
|
return { tribunalUF: "TO", tribunal: "TJTO" }; // Default
|
|
}
|
|
|
|
migrateProcessos()
|
|
.catch(console.error)
|
|
.finally(() => prisma.$disconnect());
|