Необходимо преобразовать из файла JSON в оператор DDL с помощью Python 3x - PullRequest
0 голосов
/ 11 июля 2019

У меня есть задача сгенерировать оператор DDL с использованием Python из файла JSON.

Вот код JSON,

{
    "root": {
        "columns": [
       {
        "src_name": "",
        "target_name": "id",
        "target_type": {
          "datatype": "int",
          "width": 14
       },
        "target_options": {
          "nullable": false,
          "autoincrement": true
        }
      },
      {
        "src_name": "source primary key",
        "target_name": "src_pkey",
        "target_type": {
          "datatype": "varchar",
          "width": 250
       },
        "target_options": {
          "nullable": false           
        }
      },
      {
        "src_name": "vendor name",
        "target_name": "vendor_name",
        "target_type": {
          "datatype": "varchar",
          "width": 250
       },
        "target_options": {
          "nullable": false           
        }
      },
       {
        "src_name": "create date",
        "target_name": "create_dt",
        "target_type": {
         "datatype": "timestamp",
          "fractional": 0
        },
        "target_options": {
          "nullable": false,
          "default": "CURRENT_TIMESTAMP"
        }
      },
      {
        "src_name": "create date",
        "target_name": "create_dt",
        "target_type": {
         "datatype": "timestamp",
          "fractional": 0
        },
        "target_options": {
          "nullable": false,
          "default": "CURRENT_TIMESTAMP"
        }
      }
     ],
    "target_primaryKey": {
      "columns": [
        {
          "column": "id"
        }
      ]
    },
    "target_uniqueKeys": [
      {
        "columns": [
          {
            "column": "vendor_name"
          }
        ],
        "name": "unq_name"
      }
    ],
    "target_options": {
      "comment": "All system users",
      "engine": "MyISAM"
    }
   }
}

Мне нужно сгенерировать инструкцию CREATE TABLE для файла JSON.

Пример SQL должен быть таким,

CREATE TABLE TABLE_NAME (
    id int(14) NOT NULL AUTO_INCREMENT,
    src_pkey varchar(250) NOT NULL,
    vendor_name varchar(250) NOT NULL,
    create_dt timestamp DEFAULT CURRENT_TIMESTAMP,
    PRIMARY KEY (id)
); 

Я пробовал другие ссылки, например, Создание структуры данных из JSON с использованием Python

Но не в состоянии понять.

PS: я только начал изучать Python, поэтому я не очень хорошо знаю этот язык.

...