mysql-ddl-to-json

by AlexMaho

JavaScript

const sql = `
CREATE TABLE \`pf_station_info\` (
  \`id\` int unsigned NOT NULL AUTO_INCREMENT,
  \`name\` varchar(20) NOT NULL DEFAULT '' COMMENT '站点名称',
  \`location\` json NOT NULL COMMENT '站点所在经纬度',
  \`ip_address\` varchar(15) NOT NULL DEFAULT '' COMMENT '站点 ip 地址,非此 IP 数据不接收',
  \`tiger_shaped\` char(32) NOT NULL DEFAULT '' COMMENT '握手符号',
  \`heartbeat\` int unsigned NOT NULL DEFAULT '0' COMMENT '上次心跳时间戳',
  \`status\` int NOT NULL DEFAULT '0' COMMENT '站点状态:0 正常,非 0 为停用时间戳',
  \`add_time\` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  \`update_time\` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (\`id\`)
) ENGINE=InnoDB AUTO_INCREMENT=22 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

CREATE TABLE \`player\` (
  \`user_id\` bigint(20) NOT NULL COMMENT '用户ID',
  \`user_name\` varchar(32) COLLATE utf8mb4_bin NOT NULL COMMENT '用户昵称',
  \`user_level\` int(11) NOT NULL COMMENT '用户等级',
  \`head_skin\` int(11) NOT NULL COMMENT '用户头像皮肤',
  \`head_box_skin\` int(11) NOT NULL COMMENT '用户头像框皮肤',
  \`world_space_id\` int(11) NOT NULL COMMENT '世界空间ID',
  \`is_online\` bit(1) NOT NULL COMMENT '是否在线',
  \`login_time\` datetime DEFAULT NULL COMMENT '最近登录时间',
  \`login_ip\` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '最近登录IP地址',
  \`create_time\` datetime NOT NULL COMMENT '创建时间',
  \`revision\` int(11) NOT NULL COMMENT '乐观锁版本号',
  PRIMARY KEY (\`user_id\`) USING BTREE,
  UNIQUE KEY \`uk_user_name\` (\`user_name\`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;

CREATE TABLE \`player_features\` (
  \`guid\` char(36) COLLATE utf8mb4_bin NOT NULL COMMENT 'GUID',
  \`user_id\` bigint(20) NOT NULL COMMENT '用户ID',
  \`feature_type\` bigint(20) NOT NULL COMMENT '特性类型',
  \`feature_value\` bigint(20) NOT NULL COMMENT '特性值',
  \`create_time\` datetime NOT NULL COMMENT '创建时间',
  \`duration\` int(11) NOT NULL COMMENT '持续时间,单位秒,为0则不过期',
  PRIMARY KEY (\`guid\`) USING BTREE,
  KEY \`idx_user_id\`...