From c408d72f7d67e5f8308df7e0fbd5617b6f372d05 Mon Sep 17 00:00:00 2001 From: d0zingcat Date: Thu, 15 Jan 2026 21:08:12 +0800 Subject: [PATCH 1/2] fix: use absolute path for migrations folder and add debug logging Signed-off-by: d0zingcat --- apps/server/src/db/migrate.ts | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/apps/server/src/db/migrate.ts b/apps/server/src/db/migrate.ts index e2281e2..9132f85 100644 --- a/apps/server/src/db/migrate.ts +++ b/apps/server/src/db/migrate.ts @@ -2,6 +2,9 @@ import { eq } from "drizzle-orm"; import { drizzle } from "drizzle-orm/postgres-js"; import { migrate } from "drizzle-orm/postgres-js/migrator"; import postgres from "postgres"; +import path from "node:path"; +import fs from "node:fs"; +import { fileURLToPath } from "node:url"; import * as schema from "./schema"; import { users } from "./schema"; @@ -42,8 +45,18 @@ async function main() { const sql = postgres(connectionString, { max: 1 }); const db = drizzle(sql, { schema }); + const __filename = fileURLToPath(import.meta.url); + const __dirname = path.dirname(__filename); + const migrationsFolder = path.resolve(__dirname, "../../drizzle"); + + console.log(`📂 Migrations folder: ${migrationsFolder}`); + if (!fs.existsSync(migrationsFolder)) { + console.error(`❌ Migrations folder not found: ${migrationsFolder}`); + process.exit(1); + } + try { - await migrate(db, { migrationsFolder: "./drizzle" }); + await migrate(db, { migrationsFolder }); console.log("✅ Database migrations completed!"); await migrateUserTokens(db); From d37b8ae344d3562aa1636e2314dc3a546526fc61 Mon Sep 17 00:00:00 2001 From: d0zingcat Date: Thu, 15 Jan 2026 21:10:25 +0800 Subject: [PATCH 2/2] docs: update context and changelog for v1.2.7 Signed-off-by: d0zingcat --- CHANGELOG.md | 5 +++++ apps/server/src/db/migrate.ts | 6 +++--- docs/copilot-context.md | 2 +- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5eaf74a..ef08b91 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,11 @@ 本文件的格式基于 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.0.0/), 并且本项目遵循 [语义化版本 (Semantic Versioning)](https://semver.org/lang/zh-CN/spec/v2.0.0.html)。 +## [1.2.7] - 2026-01-15 + +### 修复 +- **数据库迁移**:修复了在 K8s 环境下执行 `db:migrate:deploy` 时由于相对路径解析失败导致的迁移中断问题。现在使用绝对路径进行稳健解析,并增加了调试日志。 + ## [1.2.6] - 2026-01-15 ### 变更 diff --git a/apps/server/src/db/migrate.ts b/apps/server/src/db/migrate.ts index 9132f85..06a5ffa 100644 --- a/apps/server/src/db/migrate.ts +++ b/apps/server/src/db/migrate.ts @@ -1,10 +1,10 @@ +import fs from "node:fs"; +import path from "node:path"; +import { fileURLToPath } from "node:url"; import { eq } from "drizzle-orm"; import { drizzle } from "drizzle-orm/postgres-js"; import { migrate } from "drizzle-orm/postgres-js/migrator"; import postgres from "postgres"; -import path from "node:path"; -import fs from "node:fs"; -import { fileURLToPath } from "node:url"; import * as schema from "./schema"; import { users } from "./schema"; diff --git a/docs/copilot-context.md b/docs/copilot-context.md index a163008..8cbb850 100644 --- a/docs/copilot-context.md +++ b/docs/copilot-context.md @@ -1,4 +1,4 @@ -# Project Context for GitHub Copilot (v1.2.6) +# Project Context for GitHub Copilot (v1.2.7) This document provides technical context, architectural decisions, and code conventions for the **Alert Message Center** project. It is intended to help AI assistants understand the codebase.