refactor: 数据库持久化改用宿主机目录挂载
- Prisma DATABASE_URL 改为环境变量注入 - 数据挂载从 Docker Volume 改为 /data/no-whatever/ - 本地开发通过 .env 文件配置数据库路径
This commit is contained in:
+2
-1
@@ -35,4 +35,5 @@ EXPOSE 3000
|
|||||||
ENV PORT=3000
|
ENV PORT=3000
|
||||||
ENV HOSTNAME="0.0.0.0"
|
ENV HOSTNAME="0.0.0.0"
|
||||||
|
|
||||||
CMD ["sh", "-c", "cp -n prisma/schema.prisma /app/data/ 2>/dev/null; npx prisma migrate deploy 2>/dev/null || npx prisma db push --skip-generate; node server.js"]
|
ENV DATABASE_URL="file:/app/data/prod.db"
|
||||||
|
CMD ["sh", "-c", "npx prisma db push --skip-generate && node server.js"]
|
||||||
|
|||||||
Vendored
+3
-1
@@ -27,10 +27,12 @@ pipeline {
|
|||||||
sh """
|
sh """
|
||||||
docker stop ${APP_NAME} || true
|
docker stop ${APP_NAME} || true
|
||||||
docker rm ${APP_NAME} || true
|
docker rm ${APP_NAME} || true
|
||||||
|
mkdir -p /data/${APP_NAME}
|
||||||
docker run -d \
|
docker run -d \
|
||||||
--name ${APP_NAME} \
|
--name ${APP_NAME} \
|
||||||
-p 3000:3000 \
|
-p 3000:3000 \
|
||||||
-v ${APP_NAME}-data:/app/data \
|
-v /data/${APP_NAME}:/app/data \
|
||||||
|
-e DATABASE_URL=file:/app/data/prod.db \
|
||||||
--restart unless-stopped \
|
--restart unless-stopped \
|
||||||
${APP_NAME}:latest
|
${APP_NAME}:latest
|
||||||
"""
|
"""
|
||||||
|
|||||||
+2
-5
@@ -6,10 +6,7 @@ services:
|
|||||||
ports:
|
ports:
|
||||||
- "3000:3000"
|
- "3000:3000"
|
||||||
volumes:
|
volumes:
|
||||||
- app-data:/app/data
|
- /data/no-whatever:/app/data
|
||||||
environment:
|
environment:
|
||||||
- DATABASE_URL=file:/app/data/dev.db
|
- DATABASE_URL=file:/app/data/prod.db
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
|
||||||
volumes:
|
|
||||||
app-data:
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
datasource db {
|
datasource db {
|
||||||
provider = "sqlite"
|
provider = "sqlite"
|
||||||
url = "file:./dev.db"
|
url = env("DATABASE_URL")
|
||||||
}
|
}
|
||||||
|
|
||||||
generator client {
|
generator client {
|
||||||
|
|||||||
Reference in New Issue
Block a user