From 80310f710cde4688fe220e8e4c2551b075761c20 Mon Sep 17 00:00:00 2001 From: luorijun Date: Tue, 21 Oct 2025 13:42:39 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=BC=80=E5=8F=91=E6=97=B6?= =?UTF-8?q?=E7=8E=AF=E5=A2=83=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.example | 9 +++++++-- docker-compose.yaml | 4 ++-- src/lib/drizzle/index.ts | 5 ++++- src/lib/redis.ts | 3 ++- 4 files changed, 15 insertions(+), 6 deletions(-) diff --git a/.env.example b/.env.example index b932ddb..2c81304 100644 --- a/.env.example +++ b/.env.example @@ -1,8 +1,13 @@ # 数据库连接字符串 -DATABASE_URL= +DATABASE_HOST=localhost +DATABASE_PORT=23306 +DATABASE_USERNAME=root +DATABASE_PASSWORD=root +DATABASE_NAME=app # Redis 连接字符串 -REDIS_URL= +REDIS_HOST=localhost +REDIS_PORT=26379 # 京东网关配置 JD_BASE=https://smart.jdbox.xyz:58001 diff --git a/docker-compose.yaml b/docker-compose.yaml index b8aa4a2..1bd6d8a 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -8,13 +8,13 @@ services: MYSQL_ROOT_PASSWORD: root MYSQL_DATABASE: app ports: - - "23306:3306" + - "${DATABASE_PORT}:3306" volumes: - .volumes/mysql:/var/lib/mysql redis: image: redis:7 ports: - - "26379:6379" + - "${REDIS_PORT}:6379" volumes: - .volumes/redis:/data \ No newline at end of file diff --git a/src/lib/drizzle/index.ts b/src/lib/drizzle/index.ts index 2daa81e..52d51d1 100644 --- a/src/lib/drizzle/index.ts +++ b/src/lib/drizzle/index.ts @@ -4,10 +4,13 @@ import * as schema from './schema' const globalForDrizzle = globalThis as { drizzle?: MySql2Database } +const { DATABASE_HOST, DATABASE_PORT, DATABASE_USERNAME, DATABASE_PASSWORD, DATABASE_NAME } = process.env const proxy = new Proxy({} as MySql2Database, { get(_, prop) { if (!globalForDrizzle.drizzle) { - globalForDrizzle.drizzle = client(process.env.DATABASE_URL!, { mode: 'default', schema }) + globalForDrizzle.drizzle = client( + `mysql://${DATABASE_USERNAME}:${DATABASE_PASSWORD}@${DATABASE_HOST}:${DATABASE_PORT}/${DATABASE_NAME}`, + { mode: 'default', schema }) } const drizzle = globalForDrizzle.drizzle diff --git a/src/lib/redis.ts b/src/lib/redis.ts index 02a1c18..a8a0a8a 100644 --- a/src/lib/redis.ts +++ b/src/lib/redis.ts @@ -3,8 +3,9 @@ import { createClient, type RedisClientType } from 'redis' const globalForRedis = globalThis as { redis?: RedisClientType } +const { REDIS_HOST, REDIS_PORT } = process.env if (!globalForRedis.redis) { - globalForRedis.redis = createClient({ url: process.env.REDIS_URL }) + globalForRedis.redis = createClient({ url: `redis://${REDIS_HOST}:${REDIS_PORT}` }) } const redis = globalForRedis.redis