import Surreal from "surrealdb";
import "dotenv/config";

async function main() {
  const db = new Surreal();
  
  try {
    await db.connect(process.env.SURREAL_URL!);
    await db.signin({
      username: process.env.SURREAL_USER!,
      password: process.env.SURREAL_PASS!
    });
    await db.use({
      namespace: process.env.SURREAL_NAMESPACE!,
      database: process.env.SURREAL_DATABASE!
    });

    console.log("Connected to SurrealDB");

    // Fix the campaign_booking schema
    const queries = [
      `DEFINE FIELD OVERWRITE ad_format ON campaign_booking TYPE option<record<ad_format>>`,
      `DEFINE FIELD OVERWRITE slot ON campaign_booking TYPE option<record<slot>>`,
      `DEFINE FIELD OVERWRITE slot_type ON campaign_booking TYPE option<string> DEFAULT "week"`
    ];

    for (const query of queries) {
      console.log("Executing:", query);
      const result = await db.query(query);
      console.log("Result:", result);
    }

    console.log("\n✅ Schema updated successfully!");
    
  } catch (error) {
    console.error("Error:", error);
    process.exit(1);
  } finally {
    await db.close();
  }
}

main();
