#!/bin/sh set -e echo "Applying Prisma schema to PostgreSQL..." node ./node_modules/prisma/build/index.js db push --skip-generate --accept-data-loss echo "Ensuring high-scale PostgreSQL pg_trgm GIN indexes..." node -e ' const { PrismaClient } = require("@prisma/client"); const prisma = new PrismaClient(); async function main() { try { await prisma.$executeRawUnsafe(`CREATE EXTENSION IF NOT EXISTS pg_trgm;`); await prisma.$executeRawUnsafe(`CREATE INDEX IF NOT EXISTS note_title_trgm_idx ON "Note" USING gin ("title" gin_trgm_ops);`); await prisma.$executeRawUnsafe(`CREATE INDEX IF NOT EXISTS note_content_text_trgm_idx ON "Note" USING gin ("contentText" gin_trgm_ops);`); await prisma.$executeRawUnsafe(`CREATE INDEX IF NOT EXISTS attachment_extracted_text_trgm_idx ON "Attachment" USING gin ("extractedText" gin_trgm_ops);`); await prisma.$executeRawUnsafe(`CREATE INDEX IF NOT EXISTS tag_name_trgm_idx ON "Tag" USING gin ("name" gin_trgm_ops);`); console.log("pg_trgm GIN indexes verified successfully."); } catch (err) { console.error("Warning ensuring pg_trgm indexes:", err.message); } finally { await prisma.$disconnect(); } } main(); ' echo "Starting Everclone server on port 3000..." exec node server.js