#!/usr/bin/env node const { exec } = require('child_process'); const path = require('path'); console.log('🗄️ Setting up database...'); // Set environment variables for development process.env.DATABASE_URL = 'postgresql://portfolio_user:portfolio_dev_pass@localhost:5432/portfolio_dev?schema=public'; // Function to run command and return promise function runCommand(command) { return new Promise((resolve, reject) => { console.log(`Running: ${command}`); exec(command, (error, stdout, stderr) => { if (error) { console.error(`Error: ${error.message}`); reject(error); return; } if (stderr) { console.log(`Stderr: ${stderr}`); } console.log(`Output: ${stdout}`); resolve(stdout); }); }); } async function setupDatabase() { try { console.log('📦 Generating Prisma client...'); await runCommand('npx prisma generate'); console.log('🔄 Pushing database schema...'); await runCommand('npx prisma db push'); console.log('🌱 Seeding database...'); await runCommand('npx prisma db seed'); console.log('✅ Database setup complete!'); console.log('🚀 You can now run: npm run dev'); } catch (error) { console.error('❌ Database setup failed:', error.message); console.log('💡 Make sure PostgreSQL is running on localhost:5432'); console.log('💡 Try: docker-compose -f docker-compose.dev.minimal.yml up -d'); process.exit(1); } } setupDatabase();