From 01d965501d6984bec10c3e430fa3b96cb4b3e466 Mon Sep 17 00:00:00 2001 From: Kangmin An Date: Fri, 26 Mar 2021 19:41:14 +0900 Subject: [PATCH] =?UTF-8?q?DB=20Setting=20-=20MySQL=20=EC=9D=B4=EC=9A=A9?= =?UTF-8?q?=20=EC=A7=80=EC=97=AD=EA=B5=AC=20=EC=A0=95=EB=B3=B4=EC=9E=85?= =?UTF-8?q?=EB=A0=A5(=ED=95=B4=EB=8B=B9=ED=8C=8C=EC=9D=BC=20=EB=8F=85?= =?UTF-8?q?=EB=A6=BD=EC=8B=A4=ED=96=89).?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/package.json | 1 + server/src/db/dbsetting.js | 96 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 97 insertions(+) create mode 100644 server/src/db/dbsetting.js diff --git a/server/package.json b/server/package.json index e8083eb..687b00c 100644 --- a/server/package.json +++ b/server/package.json @@ -26,6 +26,7 @@ "express": "^4.17.1", "helmet": "^4.1.1", "morgan": "^1.10.0", + "mysql": "^2.18.1", "node-fetch": "^2.6.1", "pug": "^3.0.0" }, diff --git a/server/src/db/dbsetting.js b/server/src/db/dbsetting.js new file mode 100644 index 0000000..0b64be6 --- /dev/null +++ b/server/src/db/dbsetting.js @@ -0,0 +1,96 @@ +import fs from "fs"; +import mysql from "mysql"; +import dotenv from "dotenv"; + +dotenv.config(); + +// DB Connection +const db = mysql.createConnection({ + host: process.env.MYSQL_HOST || "localhost", + user: process.env.MYSQL_USER || "root", + password: process.env.MYSQL_PASSWORD, + database: process.env.MYSQL_DATABASE || "EUE", +}); + +const inputDo = (code, name) => { + name = name.replace(/\s/g, ""); + let q = `INSERT INTO LOCDO (CODE,DONAME) VALUES (${code},'${name}');`; + db.query(q, (err, result) => { + if (err) { + console.log(err); + return; + } + console.log("Result : " + result); + }); +}; + +const inputSi = (code, name, doCode) => { + name = name.replace(/\s/g, ""); + let q = `INSERT INTO LOCSIGUNGU (CODE,DOCODE,SGGNAME) VALUES (${code},${doCode},'${name}');`; + db.query(q, (err, result) => { + if (err) { + console.log(err); + return; + } + console.log("Result : " + result); + }); +}; + +const inputDong = (code, name, doCode, siCode) => { + name = name.replace(/\s/g, ""); + let q = `INSERT INTO LOCINFO (CODE,DOCODE,SGGCODE,EMDNAME) VALUES (${code},${doCode},${siCode},'${name}');`; + db.query(q, (err, result) => { + if (err) { + console.log(err); + return; + } + console.log("Result : " + result); + }); +}; + +const setDB = () => { + // DB Connect + db.connect((err) => { + if (err) { + console.log(err); + return; + } + console.log("connected as id" + db.threadId); + }); + + // File Read + let originData = fs.readFileSync("data/admAddressCode.csv", "utf8"); + + // Separate Data & Input Data + let sepData = originData.split("\r\n"); + let setDoCode = new Set(); + let setSiCode = new Set(); + + sepData.forEach((line) => { + line = line.replace(/\s/g, ""); + let addr = line.split(","); + + const doCode = Number(addr[0]); + if (!setDoCode.has(doCode)) { + const doName = addr[1]; + inputDo(doCode, doName); + setDoCode.add(doCode); + } + + const siCode = Number(addr[2]); + if (!setSiCode.has(siCode)) { + const siName = addr[3]; + inputSi(siCode, siName, doCode); + setSiCode.add(siCode); + } + + const dongCode = Number(addr[4]); + const dongName = addr[5]; + inputDong(dongCode, dongName, doCode, siCode); + }); + + // Connection Close + db.end(); +}; + +setDB(); -- GitLab