Files
FEDEO/backend/src/plugins/db.ts
florianfederspiel 037a10e93e
All checks were successful
Build and Push Docker Images / build-backend (push) Successful in 30s
Build and Push Docker Images / build-frontend (push) Successful in 16s
Fixed DB
2026-01-08 11:17:51 +01:00

32 lines
744 B
TypeScript

import fp from "fastify-plugin"
import {drizzle, NodePgDatabase} from "drizzle-orm/node-postgres"
import * as schema from "../../db/schema"
import {secrets} from "../utils/secrets";
import { Pool } from "pg"
export default fp(async (server, opts) => {
const pool = new Pool({
connectionString: secrets.DATABASE_URL,
max: 10, // je nach Last
})
const db = drizzle(pool , {schema})
// Dekorieren -> überall server.db
server.decorate("db", db)
// Graceful Shutdown
server.addHook("onClose", async () => {
await pool.end()
})
console.log("Drizzle database connected")
})
declare module "fastify" {
interface FastifyInstance {
db:NodePgDatabase<typeof schema>
}
}