feat(app): use instrumentation for migrations

This commit is contained in:
ItzCrazyKns
2025-10-11 17:35:27 +05:30
parent 47350b34ec
commit 535c0b9897
4 changed files with 14 additions and 10 deletions

View File

@@ -15,9 +15,6 @@ COPY drizzle ./drizzle
RUN mkdir -p /home/perplexica/data
RUN yarn build
RUN yarn add --dev @vercel/ncc
RUN yarn ncc build ./src/lib/db/migrate.ts -o migrator
FROM node:24.5.0-slim
RUN apt-get update && apt-get install -y python3 python3-pip sqlite3 && rm -rf /var/lib/apt/lists/*
@@ -30,8 +27,6 @@ COPY --from=builder /home/perplexica/.next/static ./public/_next/static
COPY --from=builder /home/perplexica/.next/standalone ./
COPY --from=builder /home/perplexica/data ./data
COPY drizzle ./drizzle
COPY --from=builder /home/perplexica/migrator/build ./build
COPY --from=builder /home/perplexica/migrator/index.js ./migrate.js
RUN mkdir /home/perplexica/uploads

View File

@@ -1,6 +1,4 @@
#!/bin/sh
set -e
node migrate.js
exec node server.js

View File

@@ -5,11 +5,10 @@
"author": "ItzCrazyKns",
"scripts": {
"dev": "next dev",
"build": "npm run db:migrate && next build",
"build": "next build",
"start": "next start",
"lint": "next lint",
"format:write": "prettier . --write",
"db:migrate": "node ./src/lib/db/migrate.ts"
"format:write": "prettier . --write"
},
"dependencies": {
"@headlessui/react": "^2.2.0",
@@ -66,6 +65,7 @@
"postcss": "^8",
"prettier": "^3.2.5",
"tailwindcss": "^3.3.0",
"ts-node": "^10.9.2",
"typescript": "^5"
}
}

11
src/instrumentation.ts Normal file
View File

@@ -0,0 +1,11 @@
export const register = async () => {
if (process.env.NEXT_RUNTIME === 'nodejs') {
try {
console.log('Running database migrations...');
await import('./lib/db/migrate');
console.log('Database migrations completed successfully');
} catch (error) {
console.error('Failed to run database migrations:', error);
}
}
};