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 与部署规约
This commit is contained in:
2026-04-24 20:32:32 +08:00
parent 4518a63959
commit 19e60d358f
13 changed files with 121 additions and 26 deletions
+12
View File
@@ -1,9 +1,21 @@
services:
migrate:
build: .
depends_on:
db:
condition: service_healthy
environment:
- DATABASE_URL=postgres://postgres:postgres@db:5432/postgres
command: ["./server", "migrate"]
restart: "no"
app:
build: .
depends_on:
db:
condition: service_healthy
migrate:
condition: service_completed_successfully
ports:
- "3000:3000"
environment: