diff --git a/AGENTS.md b/AGENTS.md index 661d0b6..7c96f7a 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -27,7 +27,7 @@ Bun 工具链(选型见 `docs/design/技术选型.md`)。**Windows 上 `bun` |------|------| | `bun install` | 安装 / 链接 workspace 依赖(在仓库根) | | `bun run db:generate` | 生成 SQL 迁移(`packages/db/drizzle/`) | -| `bun run db:push` | 推送到本地库(开发期) | +| `bun run db:push` | 推送到本地库(开发期;**服务启动不自动迁**) | | `bun run db:studio` | Drizzle Studio 看库 | | `bun run typecheck` | 根 tsconfig 类型检查(不含 web `.vue`) | | `bun run dev:server` | 开发跑后端(hot reload) | diff --git a/README.md b/README.md index f5ee917..473af8c 100644 --- a/README.md +++ b/README.md @@ -69,7 +69,7 @@ packages/ ```bash bun install cp .env.example .env # DATABASE_URL 指向你已有的 PostgreSQL -bun run db:push # 开发期推送 schema +bun run db:push # 开发期推送 schema(启动不自动迁) bun run dev:server # 后端(默认 18456) bun run dev:engine # 同步引擎(另开终端) bun run dev:web # 前端 Vite(5175) @@ -81,7 +81,7 @@ bun run dev:web # 前端 Vite(5175) ## 部署 -生产形态:**Caddy**(前端静态 + `/api` 反代)+ **server / engine 单文件**(Bun `--compile`)+ PostgreSQL;启动时自动应用 `packages/db/drizzle` 迁移。开发不依赖本 Compose——把 `DATABASE_URL` 指到任意可用 PostgreSQL 即可。 +生产形态:**Caddy**(前端静态 + `/api` 反代)+ **server / engine 单文件**(Bun `--compile`)+ PostgreSQL。**迁移不随服务启动**——改表后先用 `db:push` / 手动应用 SQL,再起服务。开发不依赖本 Compose——把 `DATABASE_URL` 指到任意可用 PostgreSQL 即可。 ### 起服务 @@ -92,7 +92,7 @@ docker compose up -d --build ``` - 页面:`http://<服务器>/`;接口文档:`http://<服务器>/api/docs` -- 升级:`git pull` 后重复 `docker compose up -d --build`(改表随启动迁移) +- 升级:`git pull` → 有表变更时先应用 schema → 再 `docker compose up -d --build` ### 环境变量要点 diff --git a/apps/engine/src/index.ts b/apps/engine/src/index.ts index 9894b26..ac707c5 100644 --- a/apps/engine/src/index.ts +++ b/apps/engine/src/index.ts @@ -1,6 +1,5 @@ -import { fileURLToPath } from "node:url"; import { appLogger, setupLogging } from "@new-api-key-usage/core"; -import { createDb, createRepos, runMigrations } from "@new-api-key-usage/db"; +import { createDb, createRepos } from "@new-api-key-usage/db"; import { loadEnv } from "./env.ts"; import { createSyncLoop } from "./loop.ts"; @@ -10,12 +9,6 @@ const log = appLogger("engine"); const db = createDb(env.DATABASE_URL); -const migrationsFolder = - process.env.MIGRATIONS_FOLDER ?? - fileURLToPath(new URL("../../../packages/db/drizzle", import.meta.url)); -await runMigrations(db, migrationsFolder); -log.info("数据库迁移已就绪"); - const repos = createRepos(db); const loop = createSyncLoop({ diff --git a/apps/server/src/index.ts b/apps/server/src/index.ts index ff5b6db..656441d 100644 --- a/apps/server/src/index.ts +++ b/apps/server/src/index.ts @@ -1,7 +1,6 @@ -import { fileURLToPath } from "node:url"; import { createApp } from "./app.ts"; import { loadEnv } from "./env.ts"; -import { createDb, runMigrations } from "@new-api-key-usage/db"; +import { createDb } from "@new-api-key-usage/db"; import { appLogger, setupLogging } from "@new-api-key-usage/core"; const env = loadEnv(process.env); @@ -9,13 +8,6 @@ setupLogging(env.LOG_LEVEL); const db = createDb(env.DATABASE_URL); -const migrationsFolder = - process.env.MIGRATIONS_FOLDER ?? - fileURLToPath(new URL("../../../packages/db/drizzle", import.meta.url)); - -await runMigrations(db, migrationsFolder); -appLogger("server").info("数据库迁移已就绪"); - const app = createApp({ db, skKeyEncryptionSecret: env.SK_KEY_ENCRYPTION_SECRET,