Files
niumalll/backend/config/database.js
2025-09-04 09:04:58 +08:00

55 lines
1.3 KiB
JavaScript

const { Sequelize } = require('sequelize');
require('dotenv').config();
// 数据库连接配置
const sequelize = new Sequelize({
host: process.env.DB_HOST || '129.211.213.226',
port: process.env.DB_PORT || 9527,
database: process.env.DB_NAME || 'jiebandata',
username: process.env.DB_USER || 'root',
password: process.env.DB_PASSWORD || 'aiotAiot123!',
dialect: process.env.DB_DIALECT || 'mysql',
logging: process.env.NODE_ENV === 'development' ? console.log : false,
pool: {
max: 5,
min: 0,
acquire: 30000,
idle: 10000
},
define: {
timestamps: true,
underscored: true,
freezeTableName: true
},
timezone: '+08:00'
});
// 测试数据库连接
const testConnection = async () => {
try {
await sequelize.authenticate();
console.log('✅ 数据库连接成功');
return true;
} catch (error) {
console.error('❌ 数据库连接失败:', error.message);
return false;
}
};
// 同步数据库模型
const syncDatabase = async (options = {}) => {
try {
await sequelize.sync(options);
console.log('✅ 数据库同步成功');
} catch (error) {
console.error('❌ 数据库同步失败:', error);
throw error;
}
};
module.exports = {
sequelize,
testConnection,
syncDatabase,
Sequelize
};