const mysql = require('mysql2/promise'); require('dotenv').config({ override: true }); (async () => { const pool = mysql.createPool({ host: process.env.DB_HOST, user: process.env.DB_USER, password: process.env.DB_PASS, database: process.env.DB_NAME, port: parseInt(process.env.DB_PORT || '3306') }); const connection = await pool.getConnection(); try { await connection.beginTransaction(); const asset = { id: 'debug_test_' + Date.now(), asset_code: 'SVR-240612-DEBUG', category: '서버', asset_type: '서버PC' }; console.log('--- Step 1: Insert into asset_core ---'); const coreFields = ['id', 'asset_code', 'category', 'asset_type']; const coreData = {}; coreFields.forEach(f => { if (asset[f] !== undefined) coreData[f] = asset[f]; }); const coreKeys = Object.keys(coreData); const coreSql = `INSERT INTO asset_core (${coreKeys.join(', ')}) VALUES (${coreKeys.map(() => '?').join(', ')})`; const [coreRes] = await connection.query(coreSql, Object.values(coreData)); console.log('Core Insert Success:', coreRes); console.log('\n--- Step 2: Insert into asset_spec ---'); const specData = { asset_id: asset.id, hw_status: '운영' }; const specKeys = Object.keys(specData); const specSql = `INSERT INTO asset_spec (${specKeys.join(', ')}) VALUES (${specKeys.map(() => '?').join(', ')})`; const [specRes] = await connection.query(specSql, Object.values(specData)); console.log('Spec Insert Success:', specRes); await connection.commit(); console.log('\n✅ Transaction Committed Successfully'); } catch (err) { await connection.rollback(); console.error('\n❌ Error Caught:', err); } finally { connection.release(); await pool.end(); } })();