SQL 转 Yii

SQL CREATE TABLE 语句转 Yii2 Model/ActiveRecord/Migration 代码,自动解析字段类型与注释

SQL 转 Yii2 代码生成器

粘贴 SQL 建表语句,自动生成 Model、ActiveRecord 查询示例与 Migration 代码

生成选项

生成结果

// 点击"生成代码"按钮后在此显示结果...
广告位

SQL 类型到 PHP 类型映射表

SQL 类型 PHP 类型 Yii2 校验规则 说明
INT, INTEGER, BIGINTintegerinteger整数类型
TINYINT, SMALLINTintegerinteger小整数
DECIMAL, FLOAT, DOUBLEdoubledouble / number浮点数
VARCHAR, CHARstringstring, max=N定长/变长字符串
TEXT, LONGTEXTstringstring长文本
DATEstringdate日期
DATETIME, TIMESTAMPstring / intdatetime日期时间
BOOLEAN, BOOLbooleanboolean布尔值
JSONmixedsafeJSON 结构

使用说明

  1. 在 SQL 输入框粘贴 CREATE TABLE 语句(可点击"载入示例"快速开始)
  2. 设置命名空间、基类、是否生成 labels/rules 等选项
  3. 点击"生成代码"按钮,下方将自动生成 PHP 代码
  4. 切换 Tab 可查看 Model 类、ActiveRecord 查询示例、Migration 三种代码
  5. 点击"复制代码"将当前 Tab 内容复制到剪贴板,或"下载文件"保存为 .php 文件
  6. SQL 解析支持:表名、字段名/类型/长度、是否 NULL、默认值、主键、自增、注释

适用场景

  • Yii2 项目快速开发:从 SQL 建表生成 Model
  • 数据库迁移:将旧表结构转为 Migration 脚本
  • 教学学习:理解 ActiveRecord 模式与查询语法
  • 代码规范:统一 Model 代码风格、自动生成中文 labels
  • 逆向工程:从生产库表生成开发用的代码骨架

安全保障

  • 本地处理:所有 SQL 解析与代码生成在浏览器完成
  • 隐私保护:SQL 语句不会上传到服务器
  • 语法规范:生成的代码遵循 Yii2 官方编码规范
  • 无害处理:生成的代码需人工检查后方可使用
  • 免费使用:无需注册,打开即用

常见问题

支持哪些 SQL 方言?

主要支持 MySQL 语法(CREATE TABLE、INT/VARCHAR/TEXT/DATETIME 等类型、AUTO_INCREMENT、COMMENT、PRIMARY KEY 等)。同时对 PostgreSQL、SQLite 的常见语法做了兼容处理。复杂约束(外键、触发器)仅作部分解析。

生成的 rules 校验规则如何确定?

根据字段类型与约束自动推导:INT 类生成 integer 规则,VARCHAR 生成 string 加 max 长度限制,DATETIME 生成 datetime 规则,NOT NULL 字段添加 required 规则,UNIQUE 字段添加 unique 规则。建议生成后根据业务进一步调整。

attributeLabels 的中文翻译从哪来?

优先使用字段的 COMMENT 注释(若勾选"使用字段注释"),无注释时根据字段名进行简单翻译(如 name → 名称、email → 邮箱、created_at → 创建时间)。生成的中文 label 可能需要根据业务进一步润色。

Migration 中的字段类型如何映射?

Yii2 Migration 使用 $this->xxx() 链式方法定义字段,本工具会进行映射:INT → integer()、VARCHAR(N) → string(N)、TEXT → text()、DATETIME → dateTime()、DECIMAL(P,S) → decimal(P,S)。主键自增字段使用 $this->primaryKey()。