MySQL转Go实体工具

转换选项

Go实体输出

{{ message }}

工具介绍

MySQL DDL示例:

CREATE TABLE `users` (
    `id`          bigint(20)  NOT NULL AUTO_INCREMENT,
    `username`    varchar(50) NOT NULL,
    `password`    varchar(100) NOT NULL,
    `email`       varchar(100) DEFAULT NULL,
    `phone`       varchar(20)  DEFAULT NULL,
    `status`      tinyint(4)  DEFAULT '0',
    `create_time` datetime    NOT NULL,
    `update_time` datetime    DEFAULT NULL,
    `deleted`     bit(1)      DEFAULT b'0',
    PRIMARY KEY (`id`),
    UNIQUE KEY `uk_username` (`username`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

MySQL数据类型映射:

  • int, integer → int
  • bigint → int64
  • smallint → int16
  • tinyint → int8/bool
  • decimal, numeric → float64
  • float → float32
  • double → float64
  • varchar, char, text → string
  • datetime, timestamp → time.Time
  • date → time.Time
  • time → time.Time
  • bit → bool
  • blob, binary → []byte
  • json → string

功能说明:

  • 自动解析MySQL CREATE TABLE语句
  • 支持基本数据类型映射
  • 生成Go结构体定义
  • 支持GORM标签
  • 支持JSON标签
  • 可配置包名和结构体后缀
  • 支持自动生成注释