Node.js λ₯Ό ν΅νμ¬, data.json νμΌμ λ°μ΄ν°λ₯Ό MySQLμ μ κ·ΌμμΌ, μνλ ν μ΄λΈμ μ½μ νλ κ²μ λͺ©νλ‘ μ½λλ₯Ό μμ±νλ€κ° MySQL κ΄λ ¨ λ©μλμ λν΄ μλͺ°λΌ μ΄λ €μμ΄ μμλ€. μ΄μ λ°λΌ GPT μ μλ κ³Ό ꡬκΈλ§μ ν΅ν΄ μ΄λ₯Ό ν΄κ²°νκ³ μ νμλ€.
ν΄κ²°ν μ½λλ₯Ό ν΅ν΄ μ 리λ₯Ό ν΄λ³΄λ €νλ€. ( μμ,,GPTμ§±,,ꡬκΈμ§±,,)
const fs = require('fs');
const mysql = require('mysql');
// MySQL λ°μ΄ν°λ² μ΄μ€μ μ°κ²°νκΈ° μν κ°μ²΄ μμ±
const connection = mysql.createConnection({
host: process.env.DB_HOST,
user: process.env.DB_USER,
password: process.env.DB_PASSWORD,
database: process.env.DB_NAME,
})
const loadData = async () => {
return new Promise((resolve, reject) => {
// connect λ©μλλ₯Ό ν΅ν΄ λ°μ΄ν° λ² μ΄μ€ μ°κ²°
connection.connect((err) => {
if (err) {
console.error(err)
reject(err)
return
}
console.log('Connected to database');
// fs ν¨μλ₯Ό ν΅ν΄, data.json νμΌμ λΉλκΈ°μ μΌλ‘ μ½μ
fs.readFile('data.json', 'utf8', async (err, data) => {
if (err) {
console.error(err)
reject(err)
return
}
// jsonνμΌμ λ°μ΄ν°λ₯Ό κ°μ²΄λ‘ λ³ν
const jsonData = JSON.parse(data);
// mapμΌλ‘ λλ©΄μ, κ° λ°μ΄ν° νλͺ©μ λν΄ μ½μ
μμ
μν
const promises = jsonData.map((item) => {
//κ° μμλ€μ λν΄ μλ‘μ΄ νλ‘λ―Έμ€ κ°μ²΄ μμ±
return new Promise((resolve, reject) => {
// INSERT INTO 쿼리문 μμ±
const query = 'INSERT INTO fm_table SET ?';
// query λ©μλλ₯Ό μ¬μ©νμ¬ μΏΌλ¦¬ λμ ( queryλ μμ λ³μ, item μ λ°μ΄ν° κ°μ²΄
connection.query(query, item, (err, result) => {
if (err) {
console.error(err);
reject(err);
return;
}
// νλ‘λ―Έμ€ μ μμ μΌλ‘ μ€νλλ©΄ console.log μ€ν ν, νλ‘λ―Έμ€ μν
console.log('Data inserted', result);
resolve();
});
});
});
try {
//λͺ¨λ νλ‘λ―Έμ€κ° μνλ λκΉμ§ λκΈ°
await Promise.all(promises);
// μ λΆλ€ μ€νλλ©΄, resolve λ¨
resolve();
} catch (error) {
reject(error);
}
});
});
});
};
loadData()
.then(() => console.log('All data inserted'))
.catch(err => console.error(err));