import { Pool } from 'pg'; const pool = new Pool({ host: process.env.DB_HOST || 'localhost', port: parseInt(process.env.DB_PORT || '55432'), database: process.env.DB_NAME || 'everything_suitable_test', user: process.env.DB_USERNAME || 'postgres', password: process.env.DB_PASSWORD || 'postgres', }); async function initTestData() { const client = await pool.connect(); try { await client.query('BEGIN'); // 清理测试数据 console.log('清理测试数据...'); await client.query('TRUNCATE TABLE test_data.users CASCADE'); await client.query('TRUNCATE TABLE test_data.roles CASCADE'); await client.query('TRUNCATE TABLE test_data.menus CASCADE'); // 创建测试用户 console.log('创建测试用户...'); await client.query(` INSERT INTO test_data.users (username, password, email, status) VALUES ('admin', 'admin123', 'admin@example.com', 'active'), ('user1', 'user123', 'user1@example.com', 'active'), ('user2', 'user123', 'user2@example.com', 'active') `); // 创建测试角色 console.log('创建测试角色...'); await client.query(` INSERT INTO test_data.roles (name, code, status) VALUES ('管理员', 'admin', 1), ('普通用户', 'user', 1) `); // 创建测试菜单 console.log('创建测试菜单...'); await client.query(` INSERT INTO test_data.menus (name, path, type, status) VALUES ('用户管理', '/user-management', 1, 0), ('角色管理', '/role-management', 1, 0), ('菜单管理', '/menu-management', 1, 0) `); await client.query('COMMIT'); console.log('✅ 测试数据初始化完成'); } catch (error) { await client.query('ROLLBACK'); console.error('❌ 测试数据初始化失败:', error); throw error; } finally { client.release(); } } initTestData() .then(() => process.exit(0)) .catch((error) => { console.error(error); process.exit(1); });