UNPKG

exclaim-recovery-database

Version:

Shared database schemas for Exclaim Recovery platform

49 lines (38 loc) 1.28 kB
import 'dotenv/config'; import { drizzle } from 'drizzle-orm/node-postgres'; import { migrate } from 'drizzle-orm/node-postgres/migrator'; import { Pool } from 'pg'; import { sql } from 'drizzle-orm'; import { resolve } from 'path'; import * as schema from './schema.js'; async function main() { // Get connection string from environment const connectionString = process.env.VERCEL_POSTGRES_URL; if (!connectionString) { console.error('No VERCEL_POSTGRES_URL found in environment'); process.exit(1); } console.log('Connecting to database...'); const pool = new Pool({ connectionString, }); const db = drizzle(pool, { schema }); try { // First, ensure the pgvector extension is installed console.log('Installing pgvector extension...'); await db.execute(sql`CREATE EXTENSION IF NOT EXISTS vector`); // Then run migrations console.log('Running migrations...'); // Define the migrations folder path const migrationsFolder = resolve(__dirname, './migrations'); // Run migrations await migrate(db, { migrationsFolder }); console.log('Migrations completed successfully'); } catch (error) { console.error('Migration failed:', error); process.exit(1); } finally { await pool.end(); } } main();