Spaces:
Running
Running
| const fs = require('fs'); | |
| const path = require('path'); | |
| const { Pool } = require('pg'); | |
| require('dotenv').config({ path: path.join(__dirname, '..', '.env') }); | |
| const connectionString = process.env.SUPABASE_DB_URL; // Using the direct Postgres connection string | |
| if (!connectionString) { | |
| console.error('Error: SUPABASE_DB_URL not found in .env'); | |
| console.log('To run this script, you need the direct PostgreSQL connection string from Supabase (Database -> Settings -> URI).'); | |
| process.exit(1); | |
| } | |
| const pool = new Pool({ | |
| connectionString, | |
| ssl: { | |
| rejectUnauthorized: false | |
| } | |
| }); | |
| async function initDB() { | |
| try { | |
| console.log('Connecting to PostgreSQL database...'); | |
| const client = await pool.connect(); | |
| console.log('Reading schema.sql...'); | |
| const schemaSql = fs.readFileSync(path.join(__dirname, 'schema.sql'), 'utf8'); | |
| console.log('Executing schema script...'); | |
| await client.query(schemaSql); | |
| console.log('✅ Database schema created successfully!'); | |
| client.release(); | |
| } catch (error) { | |
| console.error('❌ Error executing schema:', error.message); | |
| } finally { | |
| pool.end(); | |
| } | |
| } | |
| initDB(); | |