feat(deploy): 产物包部署链路与 naku 打包 CLI

Docker Compose 五服务 + Debian slim 单文件运行时;migrate 幂等门闩;
naku pack/build(citty + clack);部署方案文档入档。
This commit is contained in:
2026-10-13 00:56:43 +08:00
parent 86782c63ad
commit 905d4ce77e
18 changed files with 1050 additions and 6 deletions
+23
View File
@@ -0,0 +1,23 @@
import { createDb, runMigrations } from "./index.ts";
/**
* 部署用迁移入口:按 journal 幂等应用 packages/db/drizzle,成功 exit 0。
* 只依赖 DATABASE_URL;MIGRATIONS_FOLDER 缺省为同目录 ./drizzle。
*/
const databaseUrl = process.env.DATABASE_URL;
if (!databaseUrl) {
console.error("[migrate] DATABASE_URL is required");
process.exit(1);
}
const migrationsFolder = process.env.MIGRATIONS_FOLDER ?? "./drizzle";
const db = createDb(databaseUrl);
try {
await runMigrations(db, migrationsFolder);
console.log(`[migrate] ok (folder=${migrationsFolder})`);
process.exit(0);
} catch (err) {
console.error("[migrate] failed:", err);
process.exit(1);
}