47 lines
1.5 KiB
JavaScript
47 lines
1.5 KiB
JavaScript
|
|
const mysql = require('mysql2/promise');
|
||
|
|
const fs = require('fs');
|
||
|
|
const path = require('path');
|
||
|
|
require('dotenv').config();
|
||
|
|
|
||
|
|
async function runInitSQL() {
|
||
|
|
const connection = await mysql.createConnection({
|
||
|
|
host: process.env.DB_HOST,
|
||
|
|
port: process.env.DB_PORT,
|
||
|
|
user: process.env.DB_USER,
|
||
|
|
password: process.env.DB_PASSWORD,
|
||
|
|
database: process.env.DB_DATABASE,
|
||
|
|
multipleStatements: true
|
||
|
|
});
|
||
|
|
|
||
|
|
try {
|
||
|
|
console.log('✅ 数据库连接成功');
|
||
|
|
|
||
|
|
const sqlFile = path.join(__dirname, 'init-high-page-data.sql');
|
||
|
|
const sql = fs.readFileSync(sqlFile, 'utf8');
|
||
|
|
|
||
|
|
console.log('📝 开始执行SQL脚本...');
|
||
|
|
await connection.query(sql);
|
||
|
|
|
||
|
|
console.log('✅ SQL脚本执行完成!');
|
||
|
|
|
||
|
|
// 验证数据
|
||
|
|
const [jobs] = await connection.query('SELECT COUNT(*) as count FROM high_salary_jobs');
|
||
|
|
const [units] = await connection.query('SELECT COUNT(*) as count FROM training_units');
|
||
|
|
const [stories] = await connection.query('SELECT COUNT(*) as count FROM success_stories');
|
||
|
|
|
||
|
|
console.log('\n========== 数据验证 ==========');
|
||
|
|
console.log(`✅ high_salary_jobs: ${jobs[0].count} 条`);
|
||
|
|
console.log(`✅ training_units: ${units[0].count} 条`);
|
||
|
|
console.log(`✅ success_stories: ${stories[0].count} 条`);
|
||
|
|
console.log('========== 初始化完成 ==========\n');
|
||
|
|
|
||
|
|
} catch (error) {
|
||
|
|
console.error('❌ 执行失败:', error.message);
|
||
|
|
process.exit(1);
|
||
|
|
} finally {
|
||
|
|
await connection.end();
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
runInitSQL();
|