Primeiro commit
This commit is contained in:
60
scripts/migrate-pix-fields.js
Normal file
60
scripts/migrate-pix-fields.js
Normal file
@@ -0,0 +1,60 @@
|
||||
const { createClient } = require('@supabase/supabase-js');
|
||||
require('dotenv').config();
|
||||
|
||||
const supabase = createClient(
|
||||
process.env.SUPABASE_URL,
|
||||
process.env.SUPABASE_ANON_KEY
|
||||
);
|
||||
|
||||
async function migratePIXFields() {
|
||||
console.log('🏦 Iniciando migração dos campos PIX...');
|
||||
|
||||
try {
|
||||
// Executar as alterações na tabela vendas
|
||||
const queries = [
|
||||
"ALTER TABLE vendas ADD COLUMN IF NOT EXISTS status_pagamento VARCHAR(20) DEFAULT 'pendente'",
|
||||
"ALTER TABLE vendas ADD COLUMN IF NOT EXISTS data_pagamento TIMESTAMP",
|
||||
"ALTER TABLE vendas ADD COLUMN IF NOT EXISTS pix_payment_id VARCHAR(100)",
|
||||
"ALTER TABLE vendas ADD COLUMN IF NOT EXISTS pix_qr_code TEXT",
|
||||
"ALTER TABLE vendas ADD COLUMN IF NOT EXISTS metodo_pagamento VARCHAR(20) DEFAULT 'dinheiro'"
|
||||
];
|
||||
|
||||
for (const query of queries) {
|
||||
console.log(`Executando: ${query}`);
|
||||
const { error } = await supabase.rpc('exec_sql', { sql: query });
|
||||
|
||||
if (error) {
|
||||
console.error(`Erro ao executar query: ${error.message}`);
|
||||
// Continuar mesmo com erro (campo pode já existir)
|
||||
} else {
|
||||
console.log('✅ Query executada com sucesso');
|
||||
}
|
||||
}
|
||||
|
||||
// Criar índices
|
||||
const indexes = [
|
||||
"CREATE INDEX IF NOT EXISTS idx_vendas_status_pagamento ON vendas(status_pagamento)",
|
||||
"CREATE INDEX IF NOT EXISTS idx_vendas_pix_payment_id ON vendas(pix_payment_id)"
|
||||
];
|
||||
|
||||
for (const index of indexes) {
|
||||
console.log(`Criando índice: ${index}`);
|
||||
const { error } = await supabase.rpc('exec_sql', { sql: index });
|
||||
|
||||
if (error) {
|
||||
console.error(`Erro ao criar índice: ${error.message}`);
|
||||
} else {
|
||||
console.log('✅ Índice criado com sucesso');
|
||||
}
|
||||
}
|
||||
|
||||
console.log('🎉 Migração PIX concluída com sucesso!');
|
||||
|
||||
} catch (error) {
|
||||
console.error('❌ Erro na migração:', error);
|
||||
process.exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
// Executar migração
|
||||
migratePIXFields();
|
||||
Reference in New Issue
Block a user