lajosbencz/stream-parse-sql

PHP 库,用于按命令逐个解析大型 SQL 文件

v0.1.1 2020-01-20 16:53 UTC

This package is auto-updated.

Last update: 2024-09-21 04:04:18 UTC


README

PHP 库,用于按命令逐个解析大型 SQL 文件

虽然它不是一个真正的 SQL 解析器,但它只关心命令的完整性,而不是语法。

安装

composer require lajosbencz/stream-parse-sql

用法

$parser = new LajosBencz\StreamParseSql\StreamParseSql("./my/large/file.sql");
$parser->onProgress(function($position, $size) {
    echo ($position / $size) * 100, PHP_EOL;
});
foreacH($parser->parse() as $sqlCommand) {
    /** @var stdClass $myDb some database adapter */
    $myDb->execute($sqlCommand);
}

待办事项

  • 广泛测试任何输入是否可以产生格式错误的命令