refactor(db): 去掉 lazy singleton,改为模块级 const db

getDB/closeDB + 可空单例是 Cloudflare Workers 场景的模式——每个请求独
立上下文、不允许模块加载期副作用。在 Bun 单进程长驻服务下这些都是冗余
的仪式,徒增心智。

改为模块级 const db:
- src/server/db/index.ts 直接 export drizzle(...) 实例
- shutdown 插件用 db.$client.end() 收尾
- db.middleware.ts 跟随内部重命名以避免同名遮蔽(本身的去留放到下一
  次提交)
This commit is contained in:
2026-04-24 20:36:16 +08:00
parent f6b6edee23
commit d15b22ad1b
3 changed files with 13 additions and 29 deletions
+2 -3
View File
@@ -1,4 +1,4 @@
import { closeDB } from '@/server/db'
import { db } from '@/server/db'
export default () => {
if (import.meta.dev) return
@@ -11,9 +11,8 @@ export default () => {
}
exiting = true
// Brief delay to let srvx close the HTTP server first
setTimeout(async () => {
await closeDB()
await db.$client.end()
process.exit(0)
}, 500)
}