← back to Cypress Awards

backend/src/utils/setupDatabase.js

33 lines

const fs = require('fs');
const path = require('path');
const { pool } = require('../models/database');

async function setupDatabase() {
  console.log('Setting up CyPresAwards database...\n');

  try {
    // Read schema file
    const schemaPath = path.join(__dirname, '../../../database/schema.sql');
    const schema = fs.readFileSync(schemaPath, 'utf8');

    // Execute schema
    console.log('Creating tables and indexes...');
    await pool.query(schema);
    console.log('✓ Tables created successfully');

    console.log('✓ Indexes created successfully');
    console.log('✓ Initial data seeded successfully');

    console.log('\n=== Database Setup Complete ===\n');
    console.log('You can now run the scraper or start the API server.');

    process.exit(0);
  } catch (error) {
    console.error('Error setting up database:', error);
    process.exit(1);
  }
}

// Run setup
setupDatabase();