Savelyev_Vyacheslav

migration Choice

Sep 10th, 2024
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. let JSONData = `
  2.  
  3. {
  4.     "sys_choice": [
  5.         {
  6.             "application_id": "156950344216170038",
  7.             "column_id": "172595442807994096",
  8.             "language": "ru",
  9.             "order": 1,
  10.             "policy": "Open",
  11.             "sys_created_at": "2019-11-26 12:38:47",
  12.             "sys_created_by": "155931135900000001",
  13.             "sys_db_table_id": "155931135900000009",
  14.             "sys_id": "157477192714806904",
  15.             "sys_updated_at": "2019-12-06 09:05:31",
  16.             "sys_updated_by": "155931135900000001",
  17.             "table_id": "172594958203488872",
  18.             "title": "\u041d\u0438\u0436\u0435 \u0443\u0440\u043e\u0432\u043d\u044f \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u0439",
  19.             "value": "1"
  20.         },
  21.         {
  22.             "application_id": "156950344216170038",
  23.             "column_id": "172595442807994096",
  24.             "language": "ru",
  25.             "order": 3,
  26.             "policy": "Open",
  27.             "sys_created_at": "2019-11-26 12:35:32",
  28.             "sys_created_by": "155931135900000001",
  29.             "sys_db_table_id": "155931135900000009",
  30.             "sys_id": "157477173112182090",
  31.             "sys_updated_at": "2019-12-06 09:05:32",
  32.             "sys_updated_by": "155931135900000001",
  33.             "table_id": "172594958203488872",
  34.             "title": "\u0412\u044b\u0448\u0435 \u0443\u0440\u043e\u0432\u043d\u044f \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u0439",
  35.             "value": "3"
  36.         },
  37.         {
  38.             "application_id": "156950344216170038",
  39.             "column_id": "172595442807994096",
  40.             "language": "ru",
  41.             "order": 2,
  42.             "policy": "Open",
  43.             "sys_created_at": "2019-11-26 12:33:00",
  44.             "sys_created_by": "155931135900000001",
  45.             "sys_db_table_id": "155931135900000009",
  46.             "sys_id": "157477157913817421",
  47.             "sys_updated_at": "2019-12-06 09:05:30",
  48.             "sys_updated_by": "155931135900000001",
  49.             "table_id": "172594958203488872",
  50.             "title": "\u0421\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u044f\u043c",
  51.             "value": "2"
  52.         },
  53.         {
  54.             "application_id": "156950344216170038",
  55.             "column_id": "172595442807994096",
  56.             "language": "en",
  57.             "order": 3,
  58.             "policy": "Open",
  59.             "sys_created_at": null,
  60.             "sys_created_by": null,
  61.             "sys_db_table_id": "155931135900000009",
  62.             "sys_id": "156050065201868851",
  63.             "sys_updated_at": "2019-12-06 09:04:41",
  64.             "sys_updated_by": "155931135900000001",
  65.             "table_id": "172594958203488872",
  66.             "title": "Above Expectations",
  67.             "value": "3"
  68.         },
  69.         {
  70.             "application_id": "156950344216170038",
  71.             "column_id": "172595442807994096",
  72.             "language": "en",
  73.             "order": 2,
  74.             "policy": "Open",
  75.             "sys_created_at": null,
  76.             "sys_created_by": null,
  77.             "sys_db_table_id": "155931135900000009",
  78.             "sys_id": "156050061002496356",
  79.             "sys_updated_at": "2019-12-06 09:04:42",
  80.             "sys_updated_by": "155931135900000001",
  81.             "table_id": "172594958203488872",
  82.             "title": "Meets Expectations",
  83.             "value": "2"
  84.         },
  85.         {
  86.             "application_id": "156950344216170038",
  87.             "column_id": "172595442807994096",
  88.             "language": "en",
  89.             "order": 1,
  90.             "policy": "Open",
  91.             "sys_created_at": null,
  92.             "sys_created_by": null,
  93.             "sys_db_table_id": "155931135900000009",
  94.             "sys_id": "156050058309533090",
  95.             "sys_updated_at": "2019-12-06 09:04:38",
  96.             "sys_updated_by": "155931135900000001",
  97.             "table_id": "172594958203488872",
  98.             "title": "Below Expectations",
  99.             "value": "1"
  100.         }
  101.     ]
  102. }
  103.  
  104. `
  105. function modifyAndCleanData(dataJSON_IN, keysToRemove = []) {
  106.     // Модифицируем строку JSON, добавляя кавычки вокруг числовых значений
  107.     let modifiedJSON = dataJSON_IN.replace(/"(\w+)": (\d{15,})/g, '"$1": "$2"');
  108.  
  109.     // Парсим модифицированную строку JSON обратно в объект JavaScript
  110.     let data = JSON.parse(modifiedJSON);
  111.  
  112.     // Удаляем указанные ключи из каждого элемента в массиве sys_security_acl
  113.     // data.sys_security_acl.forEach(acl => {
  114.     //   keysToRemove.forEach(key => {
  115.     //     delete acl[key];
  116.     //   });
  117.     // });
  118.  
  119.     return data;
  120.   }
  121.  
  122. function insertRecords(data) {
  123.     var records = data.sys_choice; // Получаем массив записей из JSON
  124.    
  125.     records.forEach(function(record) {
  126.         var gr = new SimpleRecord('sys_choice'); // Указываем таблицу для вставки
  127.  
  128.         gr.setValue('value', record.value);
  129.         gr.setValue('title', record.title);
  130.         gr.setValue('table_id', record.table_id);
  131.         // gr.setValue('sys_updated_by', record.sys_updated_by);
  132.         // gr.setValue('sys_updated_at', record.sys_updated_at);
  133.         // gr.setValue('sys_id', record.sys_id);
  134.         gr.setValue('sys_db_table_id', record.sys_db_table_id);
  135.         // gr.setValue('sys_created_by', record.sys_created_by);
  136.         // gr.setValue('sys_created_at', record.sys_created_at);
  137.         gr.setValue('policy', record.policy);
  138.         gr.setValue('order', record.order);
  139.         gr.setValue('language', record.language);
  140.         gr.setValue('column_id', record.column_id);
  141.         // gr.setValue('application_id', record.application_id);
  142.  
  143.         gr.insert(); // Вставляем запись в таблицу
  144.     });
  145. }
  146.  
  147. JSONData = modifyAndCleanData(JSONData)
  148.  
  149. insertRecords(JSONData);
  150.  
  151.          
Advertisement
Add Comment
Please, Sign In to add comment