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:
@@ -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
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user