jcbowen / mysql-helper-yii2
基于yii2的mysql维护助手,可以将表结构以数组方式存储,也可以轻松实现表的差异对比及生成相应的修复SQL语句
v0.5.6
2024-09-12 08:13 UTC
Requires
- php: >=7.2.0 <8.0.0
- jcbowen/jcbase-yii2: ^0.x-dev || >=0.28.0
- yiisoft/yii2: ^2.0.11
Requires (Dev)
- ext-ctype: *
- ext-pdo: *
README
基于yii2的mysql维护类
基本要求
- yii 2.x
- PHP版本为7.x
安装
- 直接在根目录执行以下composer命令
composer require jcbowen/mysql-helper-yii2
使用
-
获取库名称
@param $dsn 如果为空,则读取配置中的dsn
Jcbowen\MysqlHelperYii2\MysqlHelperYii2::getDbName(?string $dsn = '');
- 获取表名称
Jcbowen\MysqlHelperYii2\MysqlHelperYii2::tableName($tableName);
- 获取表结构
Jcbowen\MysqlHelperYii2\MysqlHelperYii2::getTableSchema($tableName);
-
创建修复两张差异表的语句
@param array $schema1 表结构,需要修复的表 @param array $schema2 表结构,基准表 @param bool $strict 使用严格模式,严格模式将会把表1完全变成表2的结构,否则将只处理表2中大于表1的内容(多出的字段和索引)
Jcbowen\MysqlHelperYii2\MysqlHelperYii2::makeFixSql(array $schema1, array $schema2, bool $strict = false);
注意
- 已有字段如果之前被设置为了NULL,后续在设置基准表的时候,一定不要设置为NOT NULL,否则会报错