100 lines
4.0 KiB
JavaScript
100 lines
4.0 KiB
JavaScript
const supabase = require('../config/supabase');
|
|
|
|
async function initializeSupabaseTables() {
|
|
console.log('🚀 Inicializando tabelas no Supabase...');
|
|
|
|
try {
|
|
// 1. Criar tabela de fornecedores
|
|
console.log('📦 Criando tabela fornecedores...');
|
|
const { error: fornecedoresError } = await supabase.rpc('create_fornecedores_table');
|
|
if (fornecedoresError && !fornecedoresError.message.includes('already exists')) {
|
|
console.error('Erro ao criar tabela fornecedores:', fornecedoresError);
|
|
} else {
|
|
console.log('✅ Tabela fornecedores criada/verificada');
|
|
}
|
|
|
|
// 2. Criar tabela de produtos
|
|
console.log('📦 Criando tabela produtos...');
|
|
const { error: produtosError } = await supabase.rpc('create_produtos_table');
|
|
if (produtosError && !produtosError.message.includes('already exists')) {
|
|
console.error('Erro ao criar tabela produtos:', produtosError);
|
|
} else {
|
|
console.log('✅ Tabela produtos criada/verificada');
|
|
}
|
|
|
|
// 3. Criar tabela de variações de produtos
|
|
console.log('📦 Criando tabela produto_variacoes...');
|
|
const { error: variacoesError } = await supabase.rpc('create_produto_variacoes_table');
|
|
if (variacoesError && !variacoesError.message.includes('already exists')) {
|
|
console.error('Erro ao criar tabela produto_variacoes:', variacoesError);
|
|
} else {
|
|
console.log('✅ Tabela produto_variacoes criada/verificada');
|
|
}
|
|
|
|
// 4. Criar tabela de clientes
|
|
console.log('📦 Criando tabela clientes...');
|
|
const { error: clientesError } = await supabase.rpc('create_clientes_table');
|
|
if (clientesError && !clientesError.message.includes('already exists')) {
|
|
console.error('Erro ao criar tabela clientes:', clientesError);
|
|
} else {
|
|
console.log('✅ Tabela clientes criada/verificada');
|
|
}
|
|
|
|
// 5. Criar tabela de tipos de despesas
|
|
console.log('📦 Criando tabela tipos_despesas...');
|
|
const { error: tiposDespesasError } = await supabase.rpc('create_tipos_despesas_table');
|
|
if (tiposDespesasError && !tiposDespesasError.message.includes('already exists')) {
|
|
console.error('Erro ao criar tabela tipos_despesas:', tiposDespesasError);
|
|
} else {
|
|
console.log('✅ Tabela tipos_despesas criada/verificada');
|
|
}
|
|
|
|
// 6. Criar tabela de despesas
|
|
console.log('📦 Criando tabela despesas...');
|
|
const { error: despesasError } = await supabase.rpc('create_despesas_table');
|
|
if (despesasError && !despesasError.message.includes('already exists')) {
|
|
console.error('Erro ao criar tabela despesas:', despesasError);
|
|
} else {
|
|
console.log('✅ Tabela despesas criada/verificada');
|
|
}
|
|
|
|
// 7. Criar tabela de vendas
|
|
console.log('📦 Criando tabela vendas...');
|
|
const { error: vendasError } = await supabase.rpc('create_vendas_table');
|
|
if (vendasError && !vendasError.message.includes('already exists')) {
|
|
console.error('Erro ao criar tabela vendas:', vendasError);
|
|
} else {
|
|
console.log('✅ Tabela vendas criada/verificada');
|
|
}
|
|
|
|
// 8. Criar tabela de itens de venda
|
|
console.log('📦 Criando tabela venda_itens...');
|
|
const { error: vendaItensError } = await supabase.rpc('create_venda_itens_table');
|
|
if (vendaItensError && !vendaItensError.message.includes('already exists')) {
|
|
console.error('Erro ao criar tabela venda_itens:', vendaItensError);
|
|
} else {
|
|
console.log('✅ Tabela venda_itens criada/verificada');
|
|
}
|
|
|
|
console.log('🎉 Inicialização do Supabase concluída!');
|
|
|
|
// Testar conexão
|
|
const { data, error } = await supabase.from('fornecedores').select('count', { count: 'exact' });
|
|
if (error) {
|
|
console.error('❌ Erro ao testar conexão:', error);
|
|
} else {
|
|
console.log('✅ Conexão com Supabase funcionando!');
|
|
}
|
|
|
|
} catch (error) {
|
|
console.error('❌ Erro geral na inicialização:', error);
|
|
}
|
|
}
|
|
|
|
// Executar se chamado diretamente
|
|
if (require.main === module) {
|
|
initializeSupabaseTables();
|
|
}
|
|
|
|
module.exports = initializeSupabaseTables;
|