Skip to content

Instantly share code, notes, and snippets.

@iriyak
Created March 5, 2021 11:51
Show Gist options
  • Save iriyak/8db28d755208fc1ddf1df84332026565 to your computer and use it in GitHub Desktop.
Save iriyak/8db28d755208fc1ddf1df84332026565 to your computer and use it in GitHub Desktop.
var req = require("request");
req.get({
url: "https://holidays-jp.github.io/api/v1/2021/date.json",
headers: { "content-type": "application/json" }
}, (error, response, body) => { gen(body) });
function gen(body) {
var arr1 = [];
arr1.push('LOCK TABLES `c_holiday` WRITE;\n');
arr1.push('TRUNCATE TABLE `c_holiday`;\n');
arr1.push('INSERT INTO `c_holiday` VALUES ');
var arr2 = [];
for (const [k, v] of Object.entries(JSON.parse(body))) {
var m = Number(k.replace(/[0-9][0-9][0-9][0-9]\-([0-9][0-9])\-([0-9][0-9])/, '$1'));
var d = Number(k.replace(/[0-9][0-9][0-9][0-9]\-([0-9][0-9])\-([0-9][0-9])/, '$2'));
arr2.push(`(default,\'${v}\',${m},${d})`);
}
arr1.push(arr2.join(','));
arr1.push(';\n');
arr1.push('UNLOCK TABLES;');
console.log(arr1.join(''));
}
@iriyak
Copy link
Author

iriyak commented Mar 5, 2021

$ node gen.js
LOCK TABLES `c_holiday` WRITE;
TRUNCATE TABLE `c_holiday`;
INSERT INTO `c_holiday` VALUES (default,'元日',1,1),(default,'成人の日',1,11),(default,'建国記念の日',2,11),(default,'天皇誕生日',2,23),(default,'春分の日',
3,20),(default,'昭和の日',4,29),(default,'憲法記念日',5,3),(default,'みどりの日',5,4),(default,'こどもの日',5,5),(default,'海の日',7,22),(default,'体育の日'
,7,23),(default,'山の日',8,8),(default,'休日 山の日',8,9),(default,'敬老の日',9,20),(default,'秋分の日',9,23),(default,'文化の日',11,3),(default,'勤労感謝の
日',11,23);
UNLOCK TABLES;
$

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment