Advertisement
Guest User

Untitled

a guest
Sep 24th, 2018
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.80 KB | None | 0 0
  1. const mysql = require('mysql2/promise');
  2. const cards = require('../cards.json');
  3.  
  4. let keys = {};
  5. let sorted = cards.slice(0).sort((a, b) => a.id - b.id);
  6.  
  7. const map = {
  8. id: "id",
  9. n: "name",
  10. ta: "treated_as",
  11. e: "effect",
  12. pef: "pendulum_effect",
  13. c: "card_type",
  14. mc: "monster_color",
  15. ie: "is_effect",
  16. typ: "type",
  17. att: "attribute",
  18. lvl: "level",
  19. abi: "ability",
  20. flp: "flip",
  21. p: "pendulum",
  22. scl: "scale_left",
  23. arr: "arrows",
  24. atk: "atk",5
  25. def: "def",
  26. tcgl: "tcg_limit",
  27. ocgl: "ocg_limit",
  28. s: "serial_number",
  29. tcg: "tcg",
  30. ocg: "ocg",
  31. h: "hidden",
  32. }
  33.  
  34. let conn = null;
  35. async function setup() {
  36. try {
  37. conn = await mysql.createConnection({
  38. host: "localhost",
  39. user: "root",
  40. password: "password",
  41. database: "LocalsOnline"
  42. });
  43. } catch (e) {
  44. console.log(e);
  45. process.exit(2);
  46. }
  47.  
  48. await run();
  49. conn.close();
  50. }
  51.  
  52. let i = 0;
  53. let lastId = 0;
  54. async function run() {
  55. let card = sorted[i];
  56.  
  57. if (!card.id) {
  58. i++;
  59. if (i < sorted.length) {
  60. await run();
  61. }
  62. return;
  63. }
  64.  
  65. if (card.id - 1 !== lastId) {
  66. console.log(`Skipped: ${lastId} => ${card.id}`);
  67. }
  68.  
  69. lastId = card.id;
  70.  
  71. let keys = "";
  72. let values = "";
  73. let valuesArr = [];
  74. for (let key in card) {
  75. if (!map[key]) continue;
  76.  
  77. keys += `${map[key]}, `;
  78. values += `?, `;
  79. valuesArr.push(card[key]);
  80. }
  81.  
  82. if (values.length >= 2) {
  83. keys = keys.slice(0, -2);
  84. values = values.slice(0, -2);
  85.  
  86. try {
  87. await conn.execute(`INSERT INTO card_library (${keys}) VALUES (${values})`, valuesArr);
  88. } catch (e) {
  89. console.log(card);
  90. console.log(e);
  91. process.exit(1);
  92. }
  93. }
  94.  
  95. i++;
  96. if (i < sorted.length) {
  97. await run();
  98. }
  99. }
  100.  
  101. setup();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement