import pg from 'pg' import env from '#start/env' const { Client } = pg async function setupDatabase() { const client = new Client({ host: env.get('DB_HOST'), port: env.get('DB_PORT'), user: env.get('DB_USER'), password: env.get('DB_PASSWORD'), database: 'postgres', }) try { await client.connect() console.log('Connected to PostgreSQL server') const dbName = env.get('DB_DATABASE') const checkDbQuery = `SELECT 1 FROM pg_database WHERE datname = $1` const result = await client.query(checkDbQuery, [dbName]) if (result.rows.length === 0) { console.log(`Database "${dbName}" does not exist. Creating...`) await client.query(`CREATE DATABASE ${dbName}`) console.log(`Database "${dbName}" created successfully`) } else { console.log(`Database "${dbName}" already exists`) } } catch (error) { console.error('Error setting up database:', error) throw error } finally { await client.end() } } setupDatabase() .then(() => { console.log('Database setup completed successfully') process.exit(0) }) .catch((error) => { console.error('Database setup failed:', error) process.exit(1) })