表结构生成工具
该工具用于连接 MySQL 数据库,自动获取表结构元数据,并生成适用于 MySQL 和 Doris 的 CREATE TABLE 语句。
功能特点
- 元数据提取:从
information_schema获取字段名、类型、长度、是否为空、默认值及注释。 - MySQL DDL 生成:生成标准的 MySQL 建表语句。
- Doris DDL 生成:
- 自动映射 MySQL 类型到 Doris 类型(如
text->string)。 - 使用 Unique Key 模型(支持幂等写入/覆盖更新)。
- 默认配置为单副本(
replication_num = 1),适用于单机部署。 - 默认设置 1 个分桶(
BUCKETS 1)。
- 自动映射 MySQL 类型到 Doris 类型(如
使用方法
1. 配置数据库
编辑 generate_schema.py 文件开头的 DB_CONFIG 变量:
DB_CONFIG = {
"host": "your_host",
"port": 3306,
"user": "your_user",
"password": "your_password",
"database": "your_db",
"charset": "utf8mb4"
}
2. 运行脚本
- 自动处理:如果不传参数,脚本将自动读取
../json/目录下的所有.json文件名作为表名进行批量处理。python generate_schema.py - 指定表名:也可以手动传入需要生成结构的表名(支持多个):
python generate_schema.py 表名1 [表名2] ...
3. 查看输出
生成的 SQL 文件将存放在 output/ 目录下:
表名_mysql.sql: MySQL 建表语句表名_doris.sql: Doris 建表语句