Implement dynamic database path configuration in database.js, enhancing compatibility with Docker and local development environments. Update db.js to log the database connection path. Remove response data truncation in validator.js for improved readability.
This commit is contained in:
parent
da140d5415
commit
6abae17fea
@ -1,9 +1,38 @@
|
||||
const path = require('path');
|
||||
const fs = require('fs');
|
||||
|
||||
// 数据库文件路径配置
|
||||
// 在Docker环境中使用 /app/data,本地开发使用项目根目录的data文件夹
|
||||
let dbPath;
|
||||
if (process.env.DB_PATH) {
|
||||
// 如果设置了环境变量,使用环境变量的路径
|
||||
dbPath = process.env.DB_PATH;
|
||||
} else if (fs.existsSync('/app/data')) {
|
||||
// Docker容器内,使用/app/data目录
|
||||
dbPath = '/app/data/proxies.db';
|
||||
} else {
|
||||
// 本地开发环境,使用项目根目录的data文件夹
|
||||
const dataDir = path.join(__dirname, '../data');
|
||||
dbPath = path.join(dataDir, 'proxies.db');
|
||||
|
||||
// 确保data目录存在
|
||||
if (!fs.existsSync(dataDir)) {
|
||||
try {
|
||||
fs.mkdirSync(dataDir, { recursive: true });
|
||||
} catch (error) {
|
||||
console.warn('无法创建data目录,将使用项目根目录:', error.message);
|
||||
// 如果创建失败,回退到项目根目录
|
||||
dbPath = path.join(__dirname, '../proxies.db');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
console.log(`数据库文件路径: ${dbPath}`);
|
||||
|
||||
const dbConfig = {
|
||||
development: {
|
||||
dialect: 'sqlite',
|
||||
storage: path.join(__dirname, '../proxies.db')
|
||||
storage: dbPath
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@ -9,15 +9,19 @@ class Database {
|
||||
|
||||
connect() {
|
||||
return new Promise((resolve, reject) => {
|
||||
const dbPath = config.development.storage;
|
||||
console.log(`正在连接数据库: ${dbPath}`);
|
||||
|
||||
this.db = new sqlite3.Database(
|
||||
config.development.storage,
|
||||
dbPath,
|
||||
sqlite3.OPEN_READWRITE | sqlite3.OPEN_CREATE,
|
||||
(err) => {
|
||||
if (err) {
|
||||
console.error('数据库连接失败:', err.message);
|
||||
console.error('数据库路径:', dbPath);
|
||||
reject(err);
|
||||
} else {
|
||||
console.log('已连接到 SQLite 数据库');
|
||||
console.log(`已连接到 SQLite 数据库: ${dbPath}`);
|
||||
resolve();
|
||||
}
|
||||
}
|
||||
|
||||
@ -102,10 +102,11 @@ class ProxyValidator {
|
||||
const dataStr = typeof response.data === 'string'
|
||||
? response.data
|
||||
: JSON.stringify(response.data);
|
||||
responseData = dataStr.substring(0, 500);
|
||||
if (dataStr.length > 500) {
|
||||
responseData += '... (已截断)';
|
||||
}
|
||||
// responseData = dataStr.substring(0, 500);
|
||||
responseData = dataStr;
|
||||
// if (dataStr.length > 500) {
|
||||
// responseData += '... (已截断)';
|
||||
// }
|
||||
} catch (e) {
|
||||
responseData = '无法解析响应内容';
|
||||
}
|
||||
@ -151,10 +152,11 @@ class ProxyValidator {
|
||||
const dataStr = typeof response.data === 'string'
|
||||
? response.data
|
||||
: JSON.stringify(response.data);
|
||||
responseData = dataStr.substring(0, 500);
|
||||
if (dataStr.length > 500) {
|
||||
responseData += '... (已截断)';
|
||||
}
|
||||
responseData = dataStr;
|
||||
// responseData = dataStr.substring(0, 500);
|
||||
// if (dataStr.length > 500) {
|
||||
// responseData += '... (已截断)';
|
||||
// }
|
||||
}
|
||||
} catch (e) {
|
||||
responseData = '无法解析响应内容';
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user