rentease-backend/config/db.js

65 lines
1.5 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

const { Sequelize } = require('sequelize');
const mysql = require('mysql2/promise');
// 先创建数据库
const createDatabase = async () => {
try {
// 连接到MySQL服务器
const connection = await mysql.createConnection({
host: 'localhost',
user: 'root',
password: '123456'
});
// 创建数据库
await connection.query('CREATE DATABASE IF NOT EXISTS rentease');
console.log('数据库创建成功');
await connection.end();
return true;
} catch (error) {
console.error('创建数据库失败:', error);
return false;
}
};
// 创建数据库连接 - 使用MySQL
const sequelize = new Sequelize(
'rentease', // 数据库名称
'rentease', // 用户名
'Wxx@123!', // 密码
{
host: 'localhost',
dialect: 'mysql',
logging: false,
timezone: '+08:00'
}
);
// 测试数据库连接
const testConnection = async () => {
try {
await createDatabase();
// 重新创建sequelize实例确保连接管理器是活跃的
const newSequelize = new Sequelize(
'rentease', // 数据库名称
'root', // 用户名
'123456', // 密码
{
host: 'localhost',
dialect: 'mysql',
logging: false,
timezone: '+08:00'
}
);
await newSequelize.authenticate();
console.log('数据库连接成功');
return newSequelize;
} catch (error) {
console.error('数据库连接失败:', error);
return sequelize;
}
};
// 导出sequelize实例
module.exports = sequelize;