import mysql from 'mysql2/promise'; import dotenv from 'dotenv'; dotenv.config(); const { DB_HOST, DB_USER, DB_PASS, DB_NAME, DB_PORT } = process.env; async function migrateData() { const connection = await mysql.createConnection({ host: DB_HOST, user: DB_USER, password: DB_PASS, database: DB_NAME, port: parseInt(DB_PORT || '3306') }); console.log('๐Ÿ”„ ๊ธฐ์กด ๋ฐ์ดํ„ฐ ๋ณด์ • ์‹œ์ž‘ (์ƒ์„ธ์œ ํ˜• = ์œ ํ˜•)...'); const tables = ['pc_assets', 'server_assets', 'storage_assets', 'equip_assets', 'mobile_assets']; for (const table of tables) { // 1. ์œ ํ˜•(type)์ด ๋น„์–ด์žˆ๋Š” ๊ฒฝ์šฐ ๊ธฐ๋ณธ๊ฐ’ ์ฑ„์šฐ๊ธฐ (๋ณด์ • ์ „ ๋‹จ๊ณ„) let defaultType = '๊ธฐํƒ€'; if (table === 'server_assets') defaultType = '์„œ๋ฒ„'; else if (table === 'pc_assets') defaultType = '๊ฐœ์ธPC'; else if (table === 'storage_assets') defaultType = '์Šคํ† ๋ฆฌ์ง€'; else if (table === 'equip_assets') defaultType = '์ „์‚ฐ๋น„ํ’ˆ'; else if (table === 'mobile_assets') defaultType = '๋ชจ๋ฐ”์ผ๊ธฐ๊ธฐ'; await connection.query(`UPDATE ${table} SET type = ? WHERE type IS NULL OR type = ''`, [defaultType]); // 2. ๊ฐœ์ธPC๊ฐ€ ์•„๋‹Œ ๋ฐ์ดํ„ฐ๋“ค์— ๋Œ€ํ•ด ์ƒ์„ธ์œ ํ˜• = ์œ ํ˜• ์—…๋ฐ์ดํŠธ const [result] = await connection.query(` UPDATE ${table} SET detail_purpose = type WHERE type NOT IN ('๊ฐœ์ธPC', 'PC') `); console.log(`โœ… ${table}: ${result.affectedRows}๊ฐœ ๋ฐ์ดํ„ฐ ๋ณด์ • ์™„๋ฃŒ`); } console.log('โœจ ๋ชจ๋“  ๊ธฐ์กด ๋ฐ์ดํ„ฐ ๋ณด์ •์ด ์™„๋ฃŒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.'); await connection.end(); } migrateData().catch(err => { console.error('โŒ ๋ฐ์ดํ„ฐ ๋ณด์ • ์‹คํŒจ:', err); process.exit(1); });