refactor(backend): 更新数据库配置并迁移至MySQL,优化文档和技术栈描述

This commit is contained in:
ylweng
2025-09-01 01:07:12 +08:00
parent cbee609e78
commit e767d1ab27
13 changed files with 736 additions and 236 deletions

View File

@@ -4,8 +4,12 @@ PORT=3000
HOST=0.0.0.0
# 数据库配置
MONGODB_URI=mongodb://localhost:27017/jiebanke
MONGODB_URI_TEST=mongodb://localhost:27017/jiebanke_test
DB_HOST=localhost
DB_PORT=3306
DB_USER=root
DB_PASSWORD=your-mysql-password
DB_NAME=jiebandata
DB_NAME_TEST=jiebandata_test
# JWT配置
JWT_SECRET=your-super-secret-jwt-key-change-this-in-production
@@ -30,6 +34,11 @@ REDIS_HOST=localhost
REDIS_PORT=6379
REDIS_PASSWORD=
# MySQL连接池配置
DB_CONNECTION_LIMIT=10
DB_CHARSET=utf8mb4
DB_TIMEZONE=+08:00
# 第三方API配置
MAP_API_KEY=your-map-api-key
SMS_API_KEY=your-sms-api-key

View File

@@ -6,12 +6,15 @@ const config = {
// 开发环境
development: {
port: process.env.PORT || 3100,
mongodb: {
uri: process.env.MONGODB_URI || 'mongodb://localhost:27017/jiebanke_dev',
options: {
useNewUrlParser: true,
useUnifiedTopology: true
}
mysql: {
host: process.env.DB_HOST || '192.168.0.240',
port: process.env.DB_PORT || 3306,
user: process.env.DB_USER || 'root',
password: process.env.DB_PASSWORD || 'aiotAiot123!',
database: process.env.DB_NAME || 'jiebandata',
connectionLimit: 10,
charset: 'utf8mb4',
timezone: '+08:00'
},
jwt: {
secret: process.env.JWT_SECRET || 'dev-jwt-secret-key-2024',
@@ -36,12 +39,15 @@ const config = {
// 测试环境
test: {
port: process.env.PORT || 3100,
mongodb: {
uri: process.env.MONGODB_URI || 'mongodb://localhost:27017/jiebanke_test',
options: {
useNewUrlParser: true,
useUnifiedTopology: true
}
mysql: {
host: process.env.DB_HOST || '192.168.0.240',
port: process.env.DB_PORT || 3306,
user: process.env.DB_USER || 'root',
password: process.env.DB_PASSWORD || 'aiotAiot123!',
database: process.env.DB_NAME || 'jiebandata_test',
connectionLimit: 5,
charset: 'utf8mb4',
timezone: '+08:00'
},
jwt: {
secret: process.env.JWT_SECRET || 'test-jwt-secret-key-2024',
@@ -57,12 +63,15 @@ const config = {
// 生产环境
production: {
port: process.env.PORT || 3100,
mongodb: {
uri: process.env.MONGODB_URI,
options: {
useNewUrlParser: true,
useUnifiedTopology: true
}
mysql: {
host: process.env.DB_HOST || '129.211.213.226',
port: process.env.DB_PORT || 9527,
user: process.env.DB_USER || 'root',
password: process.env.DB_PASSWORD || 'aiotAiot123!',
database: process.env.DB_NAME || 'jiebandata',
connectionLimit: 20,
charset: 'utf8mb4',
timezone: '+08:00'
},
jwt: {
secret: process.env.JWT_SECRET,

View File

@@ -8,7 +8,10 @@
"dev": "nodemon src/server.js",
"test": "jest",
"lint": "eslint src/**/*.js",
"migrate": "node src/utils/migrate.js"
"migrate": "node src/utils/migrate.js",
"init-test-data": "node scripts/init-test-data.js",
"test-api": "node scripts/test-api-endpoints.js",
"test-db": "node scripts/test-database-connection.js"
},
"keywords": [
"mini-program",

View File

@@ -1,22 +1,21 @@
const mysql = require('mysql2/promise');
const config = require('./env');
// 数据库配置
const dbConfig = {
host: process.env.DB_HOST || '129.211.213.226',
port: process.env.DB_PORT || 9527,
user: process.env.DB_USER || 'root',
password: process.env.DB_PASSWORD || 'aiotAiot123!',
password: process.env.DB_PASSWORD || 'Aiot123',
database: process.env.DB_NAME || 'jiebandata',
connectionLimit: 10,
charset: 'utf8mb4',
timezone: '+08:00',
connectionLimit: process.env.DB_CONNECTION_LIMIT || 10,
charset: process.env.DB_CHARSET || 'utf8mb4',
timezone: process.env.DB_TIMEZONE || '+08:00',
// 连接池配置
waitForConnections: true,
queueLimit: 0,
// 超时配置
connectTimeout: 10000, // 10秒连接超时
acquireTimeout: 10000, // 10秒获取连接超时
timeout: 10000 // 10秒查询超时
connectTimeout: 10000 // 10秒连接超时
};
// 创建连接池