// Script para migrar dados existentes de PageContent para o novo formato com locale import { PrismaClient } from '@prisma/client'; const prisma = new PrismaClient(); async function main() { console.log('🔄 Migrando dados para incluir locale...\n'); // Buscar todos os registros que não têm locale definido ou têm locale null const pages = await prisma.pageContent.findMany(); console.log(`📄 Encontrados ${pages.length} registros de PageContent\n`); for (const page of pages) { // Se o registro já tem locale 'pt' e está no formato correto, pular if (page.locale === 'pt') { console.log(`✓ "${page.slug}" (${page.locale}) - já migrado`); continue; } // Se tem locale diferente de pt, pular também (já foi migrado) if (page.locale && ['en', 'es'].includes(page.locale)) { console.log(`✓ "${page.slug}" (${page.locale}) - já é tradução`); continue; } // Atualizar para ter locale 'pt' try { await prisma.pageContent.update({ where: { id: page.id }, data: { locale: 'pt' } }); console.log(`✅ "${page.slug}" - atualizado para locale 'pt'`); } catch (error) { console.error(`❌ Erro ao atualizar "${page.slug}":`, error.message); } } console.log('\n✨ Migração concluída!'); } main() .catch((e) => { console.error('Erro na migração:', e); process.exit(1); }) .finally(async () => { await prisma.$disconnect(); });