yurunsoft / sql-diff
There is no license information available for the latest version (v1.0.5) of this package.
v1.0.5
2023-06-16 01:19 UTC
Requires
- phpmyadmin/sql-parser: ~5.7
Requires (Dev)
- friendsofphp/php-cs-fixer: ~3.4.0
- phpstan/phpstan: ~1.8.0
- phpunit/phpunit: ~9.6
README
介绍
本项目实现了比较 MySQL 建表语句的差异,并生成结构同步代码,功能类似 Navicat 的结构同步。
支持:
-
表选项(注释、引擎等)
-
字段
-
索引
-
外键
-
分区
-
视图
安装
composer require yurunsoft/sql-diff
使用说明
$sql1 = <<<SQL CREATE TABLE `a` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci SQL; $sql2 = <<<SQL CREATE TABLE `a` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci SQL; // 返回将 $sql1 结构升级到 $sql2 的 SQL 语句数组 $sqls = \Yurun\SqlDiff\SqlDiff::diff($sql1, $sql2); var_dump($sqls);
运行环境
- PHP >= 7.4
版权信息
本项目依赖 phpmyadmin/sql-parser,所以开源协议受到污染,必须是 GPL-2.0,所有基于本项目的代码都要开源。
建议开发成轻量的功能单一的,独立脚本、工具、服务,并开源,这样就不违反开源协议了。
捐赠
开源不求盈利,多少都是心意,生活不易,随缘随缘……