Altable用来对通过mysqldump出来的表结构数据进行解析
Altable用来对通过mysqldump出来的表结构数据进行解析,分析出数据库、数据表、字段、主键、索引等信息。
PHP 数据库相关
共6Star
详细介绍
Phpple Altable
本项目用来对通过mysqldump出来的表结构数据进行解析,分析出数据库、数据表、字段、主键、索引等信息。
使用步骤
composer引入项目
composer require phpple/altable
通过mysqldump导出需要的表结构:
mysqldump --all-databases --no-data > dump.sql
编写php脚本分析数据库结构
<?php
require 'vendor/autoload.php';
$parser = new Phpple\Altable\Parser();
// 设定不需要分析哪些库或者表
$parser->dbFilters = [
// 整个库不予分析
'mysql' => null,
// foo.bar不予分析
'foo' => ['bar'],
];
$dbs = $parser->parse(__DIR__.'/dump.sql');
// 开始进行分析
foreach($dbs as $db) {
foreach($db->tables as $table) {
foreach($table->fields as $field) {
if ($field->name == 'uid') {
echo "`{$db->name}`.`{$table->name}` found uid field";
}
}
}
}
// 通过名称查找名称为foo的DB
$parser->find($dbs, 'foo');
// 通过名称查找名称为foo.bar的Table
$parser->find($dbs, 'foo', 'bar');
// 通过名称查找表foo.bar里的字段uid
$parser->find($dbs, 'foo', 'bar', 'uid');