// scripts/create-db.js
const { Client } = require('pg');
require('dotenv').config();

async function createDatabaseIfNotExists() {
  // Extraemos el nombre de la DB de la URL
  const url = new URL(process.env.DATABASE_URL);
  const dbName = url.pathname.slice(1); // quita el "/"

  // Nos conectamos a "postgres" (la DB por defecto que siempre existe)
  url.pathname = '/postgres';
  const client = new Client({ connectionString: url.toString() });

  try {
    await client.connect();

    const res = await client.query(
      `SELECT 1 FROM pg_database WHERE datname = $1`,
      [dbName]
    );

    if (res.rowCount === 0) {
      await client.query(`CREATE DATABASE "${dbName}"`);
      console.log(`✅ Base de datos "${dbName}" creada.`);
    } else {
      console.log(`ℹ️  La base de datos "${dbName}" ya existe.`);
    }
  } finally {
    await client.end();
  }
}

createDatabaseIfNotExists().catch(err => {
  console.error('Error:', err.message);
  process.exit(1);
});