From 9cbc0ba5801a77713b9764478bf4dbd7f5dd864c Mon Sep 17 00:00:00 2001 From: hailin Date: Tue, 24 Feb 2026 01:48:24 -0800 Subject: [PATCH] =?UTF-8?q?fix(snapshot):=20DATABASE=5FURL=20=E6=94=B9?= =?UTF-8?q?=E7=BB=9D=E5=AF=B9=E8=B7=AF=E5=BE=84=EF=BC=8C=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=20SQLite=20=E6=AF=8F=E6=AC=A1=E9=87=8D=E5=BB=BA=E4=B8=A2?= =?UTF-8?q?=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Prisma 的 file:./data/snapshot.db 相对于 schema.prisma 所在目录 (/app/prisma/),实际创建在 /app/prisma/data/snapshot.db,不在 volume 挂载的 /app/data/ 下,导致容器重建后数据丢失。 改为 file:/app/data/snapshot.db 绝对路径,确保 SQLite 存入 volume 挂载目录,数据跨容器持久化。 Co-Authored-By: Claude Opus 4.6 --- backend/services/docker-compose.2.0-snapshot.yml | 2 +- backend/services/docker-compose.snapshot.yml | 2 +- backend/services/snapshot-service/.env.development | 1 + backend/services/snapshot-service/Dockerfile | 4 ++-- 4 files changed, 5 insertions(+), 4 deletions(-) diff --git a/backend/services/docker-compose.2.0-snapshot.yml b/backend/services/docker-compose.2.0-snapshot.yml index a1188db4..3a30bb83 100644 --- a/backend/services/docker-compose.2.0-snapshot.yml +++ b/backend/services/docker-compose.2.0-snapshot.yml @@ -19,7 +19,7 @@ services: environment: - NODE_ENV=production - APP_PORT=3199 - - DATABASE_URL=file:./data/snapshot.db + - DATABASE_URL=file:/app/data/snapshot.db # PostgreSQL-2 (备份目标) - PG_HOST=postgres-2 - PG_PORT=5432 diff --git a/backend/services/docker-compose.snapshot.yml b/backend/services/docker-compose.snapshot.yml index 195cd727..eaef2537 100644 --- a/backend/services/docker-compose.snapshot.yml +++ b/backend/services/docker-compose.snapshot.yml @@ -14,7 +14,7 @@ services: environment: - NODE_ENV=production - APP_PORT=3099 - - DATABASE_URL=file:./data/snapshot.db + - DATABASE_URL=file:/app/data/snapshot.db # PostgreSQL (备份目标) - PG_HOST=postgres - PG_PORT=5432 diff --git a/backend/services/snapshot-service/.env.development b/backend/services/snapshot-service/.env.development index 8dbf26ad..fc061d79 100644 --- a/backend/services/snapshot-service/.env.development +++ b/backend/services/snapshot-service/.env.development @@ -1,6 +1,7 @@ NODE_ENV=development APP_PORT=3099 DATABASE_URL="file:./data/snapshot.db" +# Docker 部署时 docker-compose 覆盖为绝对路径: file:/app/data/snapshot.db # PostgreSQL (被备份目标) PG_HOST=localhost diff --git a/backend/services/snapshot-service/Dockerfile b/backend/services/snapshot-service/Dockerfile index ccd4b02e..33a35af5 100644 --- a/backend/services/snapshot-service/Dockerfile +++ b/backend/services/snapshot-service/Dockerfile @@ -7,7 +7,7 @@ COPY package*.json ./ RUN npm ci COPY prisma ./prisma/ -RUN DATABASE_URL="file:./data/snapshot.db" npx prisma generate +RUN DATABASE_URL="file:/app/data/snapshot.db" npx prisma generate COPY . . RUN npm run build @@ -36,7 +36,7 @@ COPY package*.json ./ RUN npm ci --only=production COPY prisma ./prisma/ -RUN DATABASE_URL="file:./data/snapshot.db" npx prisma generate +RUN DATABASE_URL="file:/app/data/snapshot.db" npx prisma generate COPY --from=builder /app/dist ./dist