Add high-scale optimizations: pg_trgm GIN indexes, infinite scroll pagination, virtualized card grid, fast groupBy sidebar counts
This commit is contained in:
1 parent
7096631f1e
commit
e1a861faea
3 files changed
+350
-222
No files matched your search
@@ -4,5 +4,26 @@ 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
|
||||
Reference in new issue
Block a user