imbytecat
|
2678a53034
|
refactor(api): 删掉 db ORPC middleware,handler 直接用 db
db middleware 的存在只是为了把 db 注入到 ORPC context——这是 Cloudflare
Workers / 多租户场景的模式(db 依赖 per-request 的 env binding)。在
Bun 单进程 + 模块级 const db 下,这层中间件是纯粹的仪式:一行 import
直接拿到 db,反而更清晰。
- 删除 src/server/api/middlewares/ 整个目录(不留空脚手架,KISS)
- context.ts 去掉 DBContext 与示例注释,只留 BaseContext { headers }
作为未来 auth/tenant 等 middleware 的扩展点
- routers/todo.router.ts 不再 .use(db),handler 内直接 db.query / db.insert
需要 per-request 上下文(auth、tenant、rate-limit)时再按 ORPC 的
os.middleware 模式新增,不在此预先铺陈。
|
2026-04-24 20:37:11 +08:00 |
|
imbytecat
|
d15b22ad1b
|
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 跟随内部重命名以避免同名遮蔽(本身的去留放到下一
次提交)
|
2026-04-24 20:36:16 +08:00 |
|
imbytecat
|
19e60d358f
|
feat(cli): 引入 citty CLI,迁移改为显式 ./server migrate
- 顶层新增 bin.ts 作为编译入口,citty 懒加载 src/cli/ 下子命令
- src/cli/serve.ts 通过 _serve-nitro.mjs 桥接启动 Nitro(规避
.output/server/index.mjs 顶层 serve(...) 的副作用导入)
- src/cli/migrate.ts 显式跑 drizzle migrate;env / drizzle 都在 run()
里 await import,避免 citty --help 遍历 subCommands 时触发 env 校验
- compile.ts 入口切到 bin.ts;移除 src/server/plugins/migrate.ts
与 vite.config.ts 中的启动时自动迁移
- compose.yaml 新增一次性 migrate 服务,app depends_on
service_completed_successfully,保证迁移先行再起服
- tsconfig 排除 .output / out;AGENTS.md 补充 CLI 与部署规约
|
2026-04-24 20:32:32 +08:00 |
|
imbytecat
|
75c77159b4
|
refactor(db): 适配 drizzle-orm 0.x API 并引入 drizzle-zod
drizzle-orm 从 1.0 beta 降级到 0.45 后,1.0 的 defineRelations、drizzle-orm/zod
子路径以及 RQB v2 的 orderBy 对象语法均不可用。改用 schema 作为 drizzle()
入参、从独立的 drizzle-zod 包导入 schema 生成器,并将 orderBy 改回 0.x 的
回调写法。同时删除因降级而失效的旧迁移。
|
2026-04-24 20:08:41 +08:00 |
|
imbytecat
|
1af5d4e3c0
|
fix: 修复编译二进制 Ctrl+C 无法退出的问题
|
2026-04-02 07:48:25 +08:00 |
|
imbytecat
|
6795730485
|
refactor(db): 暴露 closeDB() 函数以支持连接池清理
|
2026-04-02 07:48:16 +08:00 |
|
imbytecat
|
77b3484415
|
refactor: 改用 Nitro 插件实现启动时数据库迁移
|
2026-04-02 03:42:45 +08:00 |
|
imbytecat
|
c67e773086
|
refactor: 抽取 UI 组件、改进错误页面、统一导入路径并简化数据库接口
|
2026-04-02 00:13:43 +08:00 |
|
imbytecat
|
cd7b65fda4
|
refactor: flatten monorepo into standalone project
|
2026-04-01 19:43:21 +08:00 |
|