65 lines
1.5 KiB
JavaScript
65 lines
1.5 KiB
JavaScript
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;
|