webman-admin的数据库所有表看到几个情况

xinj2000

bug描述

1、编辑功能的注释不修改也会执行,因为$table_comment经过转义过增加了一个单引号。
2、超过1000万数据的表是不是可以增加一个判断,因为我的表记录比较多,这个所有表都打不开。
3、编辑功能的索引不修改原来的索引也会执行,因为columns字段一个是字符串一个是数组,请看看。

程序代码或配置

1、
$table_comment = Util::pdoQuote($data['table_comment']);
...
if ($table_comment !== $table['comment']) {
            Util::db()->statement("ALTER TABLE `$table_name` COMMENT $table_comment");
        }

3、
$keys = $data['keys'];
...
$old_keys = Util::getSchema($table_name, 'keys');

期待的结果及实际结果

这里写期待结果及实际结果
1、3、希望修复
2、希望优化

重现bug的步骤

这里写步骤
前面有描述

系统环境及workerman/webman等具体版本

这里写具体的系统环境相关信息
Workerman version:4.1.6 PHP version:8.1.14 webman version:1.4.10 webman-admin version:0.5.0

458 1 0
1个回答

walkor

感谢反馈,1、3已经修复了。
问题2可能记录数太多计算count()太慢了,本地没有过千万的大表,没办法测试,目前也没有好的解决方案,欢迎提供方案或者直接发pr。

  • xinj2000 2023-01-28

    你的速度真快呀,谢谢

  • xinj2000 2023-01-28

    我现在的方法是获取information_schema.TABLES表的行数,如果行数小于100万就用你的方法否则直接用表里的行数,crud.php里也是类似的方法

年代过于久远,无法发表回答
🔝