rzuw/lyra-db

Lyra 数据库库。

dev-master 2017-07-31 10:46 UTC

This package is not auto-updated.

Last update: 2024-09-23 06:37:02 UTC


README

这是基于 Doctrine/DBAL 构建的 Lyra 数据库组件。使用它将为所有数据库事务提供日志系统。查询或语句应使用 QueryBuilder 帮助构建。还可以使用查询运行程序的 dryrun 版本来模拟数据库命令。

配置

在您的 Unix 操作系统上,如果您想连接到 MySQL 服务器,则需要安装 php-mysqlphp-pdo。其他驱动程序需要它们自己的 php 扩展。然后您需要创建一个包含以下数据的配置数组

$databaseConfig = array(
    "driver" => "pdo_mysql",
    "user" => "testuser",
    "password" => "testpassword",
    "host" => "localhost",
    "dbname" => "testdb"
);

有关配置数组的更多信息,请参阅 Doctrine 网站

安装

要安装此组件,您可以使用 composer 直接要求它。该软件包存在于 packagist 网站上。

composer require rzuw/lyra-db

还可以克隆此存储库并将路径添加到 composer 或使用 autoload 加载内容。

{
    "repositories": [
        {
            "type": "path",
            "url": "/path-to-git-clone"
        }
    ],
    "require": {
        "rzuw/lyra-db": "*"
    }
}

该存储库本身也可以添加到 composer,并可以直接从存储库获取数据。

{
    "require": {
        "rzuw/lyra-db": "*"
    },
    "repositories": [
        {
            "type": "vcs",
            "url":  "ssh://git@github.com/uniwue-rz/lyra-db.git"
        }
    ]
}

使用方法

要使用此库,请使用配置数组和以下方法实现的日志记录器创建其实例。应该指出的是,记录不是必需的,也可以使用 null 日志记录器。

$db = new DB($this->databaseConfig, $this->logger);
// Create the table
$stmt = "CREATE TABLE IF NOT EXISTS test_table(id MEDIUMINT NOT NULL AUTO_INCREMENT PRIMARY KEY, uid int, pid int, data varchar(255))";
$db->runStatement($stmt);
$qb = $db->getQueryBuilder();
$query = $qb->insert("test_table")->values(
    array("uid" => "?", "pid" => "?", "data" => "?")
    )->setParameters(array(0,0,"test"));
$db->runQuery($query);
$lastId = $db->getLastInsertId();
// Drop Table
$stmt = "DROP TABLE test_table";
$db->runStatement($stmt);

测试和开发

为此库编写的 phpunit 设置,因此您可以在没有问题的情况下对其进行测试。在测试之前,请确保您已设置数据库服务器地址,并且用户有权创建测试数据库。此配置可在 /tests/bootstrap.php 中找到。

许可协议

请参阅 LICENSE 文件