Files
ITAM/debug_save.cjs

56 lines
1.8 KiB
JavaScript

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();
}
})();