优化开发时环境配置
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 连接字符串
|
||||||
REDIS_URL=
|
REDIS_HOST=localhost
|
||||||
|
REDIS_PORT=26379
|
||||||
|
|
||||||
# 京东网关配置
|
# 京东网关配置
|
||||||
JD_BASE=https://smart.jdbox.xyz:58001
|
JD_BASE=https://smart.jdbox.xyz:58001
|
||||||
|
|||||||
@@ -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
|
||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user