iDev Schema 发布:数据库 Schema 版本管理与自动迁移工具

iDev Schema Launch: Database Schema Version Management and Auto-Migration Tool

| iDev Product | 2026-08-21T19:42:13

iDev Schema 正式发布,提供数据库 Schema 的版本管理、差异对比、自动迁移和回滚能力,告别手写 SQL 迁移脚本。

iDev Schema launches with database schema version management, diff comparison, auto-migration, and rollback capabilities.

## 产品背景 数据库 Schema 变更是软件开发中最容易出事故的环节之一: - 手写 ALTER TABLE 语句容易出错 - 不同环境的 Schema 版本不一致 - 回滚 Schema 变更极其困难 - 缺少 Schema 变更的审批流程 iDev Schema 旨在让数据库变更像代码变更一样可追溯、可审查、可回滚。 ## 核心功能 ### 声明式 Schema 管理 不需要写 ALTER TABLE,直接声明目标 Schema: ```yaml # schema.yaml tables: users: columns: id: { type: bigint, primaryKey: true, autoIncrement: true } name: { type: varchar(100), notNull: true } email: { type: varchar(200), notNull: true, unique: true } phone: { type: varchar(20) } # 新增列 status: { type: tinyint, default: 1 } # 新增列 created_at: { type: datetime, default: CURRENT_TIMESTAMP } indexes: idx_status: [status] ``` iDev Schema 自动对比当前数据库和目标 Schema 的差异,生成迁移 SQL: ```sql -- 自动生成的迁移 SQL ALTER TABLE users ADD COLUMN phone VARCHAR(20); ALTER TABLE users ADD COLUMN status TINYINT DEFAULT 1; CREATE INDEX idx_status ON users (status); ``` ### 安全检查 在执行迁移前自动检查风险: - **大表告警**:超过 100 万行的表执行 ALTER 会提醒可能的锁表风险 - **数据丢失检查**:删除列、修改类型时警告可能的数据丢失 - **索引影响分析**:新增索引预估构建时间 - **向后兼容检查**:确保迁移不会破坏正在运行的旧版本代码 ### 版本历史 ```bash $ idev-schema history Version Applied At Description v001 2026-01-15 10:30:00 Initial schema v002 2026-03-20 14:15:00 Add phone column to users v003 2026-06-10 09:45:00 Add orders table v004 2026-09-07 16:00:00 Add status column and index ← current ``` ### 一键回滚 ```bash $ idev-schema rollback v003 Rollback plan: - DROP INDEX idx_status ON users; - ALTER TABLE users DROP COLUMN status; - ALTER TABLE users DROP COLUMN phone; Execute? [y/N] ``` ### 多环境同步 ```bash # 对比 dev 和 prod 的 Schema 差异 $ idev-schema diff --source dev --target prod Differences: + users.phone (VARCHAR(20)) — exists in dev, missing in prod + users.status (TINYINT) — exists in dev, missing in prod + INDEX idx_status — exists in dev, missing in prod ``` ## 与 Flyway/Liquibase 的对比 | 特性 | Flyway | Liquibase | iDev Schema | |------|--------|-----------|-------------| | 管理方式 | 命令式(写 SQL) | 混合 | 声明式(描述目标) | | 差异自动生成 | 不支持 | 部分支持 | 完全支持 | | 安全检查 | 无 | 基础 | 全面 | | 多环境对比 | 手动 | 手动 | 自动 | | 回滚 | 手动写回滚 SQL | 自动 | 自动 | | UI | 无 | 付费版 | 内置 | ## 支持的数据库 - MySQL 5.7+ - PostgreSQL 12+ - MariaDB 10.5+ - SQLite 3.35+ ## 定价 - **开源版**:免费,CLI 工具,支持所有核心功能 - **团队版**:¥299/月,Web UI + 团队协作 + 审批流程 - **企业版**:面议,私有化部署 + SSO + 审计日志


iDev Schema: declarative database schema management. Define target schema in YAML, auto-generate migration SQL by comparing current vs target state. Built-in safety checks for large table locks, data loss risks, index build time estimation, and backward compatibility. Full version history with one-click rollback and multi-environment diff. Supports MySQL, PostgreSQL, MariaDB, SQLite. Compared to Flyway/Liquibase: fully declarative approach, comprehensive safety checks, automatic multi-environment comparison. Free open source CLI, ¥299/mo team edition with Web UI.

← Back to News