优化开发时环境配置
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
@@ -4,10 +4,13 @@ import * as schema from './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>, {
|
||||
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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user