marqant-lab/graphql-sql-log

Lighthouse GraphQL SQL 日志。

v0.0.4 2020-08-18 10:25 UTC

This package is auto-updated.

Last update: 2024-09-22 00:05:56 UTC


README

这是什么?

此包包含 GraphQL 查询和变体的 SQL 日志。
您将在响应中获得所有执行的查询。

安装

通过 composer 安装此包。

$ composer require marqant-lab/graphql-sql-log

示例

响应数据的示例

{
    "data": {
        ...
    },
    "extensions": [
        {
            "sqlInfo": {
                "executed_queries_count": 7,
                "executed_queries": [
                    ...
                    {
                        "query": "select * from `users` where `users`.`id` = ? limit 1",
                        "bindings": [
                            2
                        ],
                        "time": 3.48
                    }
                    ...
                ]
            }
        }
    ]
}

测试

要运行测试,您首先需要设置一个 sqlite 数据库,我们使用它来获取数据库状态的快照。从您的项目根目录运行以下命令以创建 sqlite 数据库。

$ touch database/database.sqlite

如果您想执行包测试,请将以下内容添加到 phpunit.xml 中

        <testsuite name="GraphQLSQLLog">
            <directory suffix="Test.php">./vendor/marqant-lab/graphql-sql-log/tests</directory>
        </testsuite>

然后您可以通过执行以下命令来检查它

$ php artisan test --group=GraphQLSQLLog
or
$ phpunit --group=GraphQLSQLLog