优化开发时环境配置

This commit is contained in:
2025-10-21 13:42:39 +08:00
parent 5617502713
commit 80310f710c
4 changed files with 15 additions and 6 deletions

View File

@@ -1,8 +1,13 @@
# 数据库连接字符串 # 数据库连接字符串
DATABASE_URL= DATABASE_HOST=localhost
DATABASE_PORT=23306
DATABASE_USERNAME=root
DATABASE_PASSWORD=root
DATABASE_NAME=app
# Redis 连接字符串 # Redis 连接字符串
REDIS_URL= REDIS_HOST=localhost
REDIS_PORT=26379
# 京东网关配置 # 京东网关配置
JD_BASE=https://smart.jdbox.xyz:58001 JD_BASE=https://smart.jdbox.xyz:58001

View File

@@ -8,13 +8,13 @@ services:
MYSQL_ROOT_PASSWORD: root MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: app MYSQL_DATABASE: app
ports: ports:
- "23306:3306" - "${DATABASE_PORT}:3306"
volumes: volumes:
- .volumes/mysql:/var/lib/mysql - .volumes/mysql:/var/lib/mysql
redis: redis:
image: redis:7 image: redis:7
ports: ports:
- "26379:6379" - "${REDIS_PORT}:6379"
volumes: volumes:
- .volumes/redis:/data - .volumes/redis:/data

View File

@@ -4,10 +4,13 @@ import * as schema from './schema'
const globalForDrizzle = globalThis as { drizzle?: MySql2Database<typeof schema> } const globalForDrizzle = globalThis as { drizzle?: MySql2Database<typeof schema> }
const { DATABASE_HOST, DATABASE_PORT, DATABASE_USERNAME, DATABASE_PASSWORD, DATABASE_NAME } = process.env
const proxy = new Proxy({} as MySql2Database<typeof schema>, { const proxy = new Proxy({} as MySql2Database<typeof schema>, {
get(_, prop) { get(_, prop) {
if (!globalForDrizzle.drizzle) { 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 const drizzle = globalForDrizzle.drizzle

View File

@@ -3,8 +3,9 @@ import { createClient, type RedisClientType } from 'redis'
const globalForRedis = globalThis as { redis?: RedisClientType } const globalForRedis = globalThis as { redis?: RedisClientType }
const { REDIS_HOST, REDIS_PORT } = process.env
if (!globalForRedis.redis) { if (!globalForRedis.redis) {
globalForRedis.redis = createClient({ url: process.env.REDIS_URL }) globalForRedis.redis = createClient({ url: `redis://${REDIS_HOST}:${REDIS_PORT}` })
} }
const redis = globalForRedis.redis const redis = globalForRedis.redis