laminas/laminas-db

数据库抽象层,SQL抽象,结果集抽象,以及RowDataGateway和TableDataGateway实现

2.20.0 2024-04-02 01:04 UTC

README

Build Status

🇷🇺 俄罗斯公民

我们,Laminas的参与者,来自不同的国家。我们中许多人有在俄罗斯和乌克兰的朋友、亲戚和同事。其中一些人出生在俄罗斯。一些人在俄罗斯生活。一些人的祖父母在第二次世界大战中与法西斯作战。这里没有人支持法西斯主义。

我们中的一位成员有一位乌克兰亲戚,她和儿子一起逃离了家园。火车因前方道路上的轰炸而延误。我们有朋友在防空洞里藏身。我们在空袭后焦急地追踪他们的消息,空袭不分青红皂白地轰炸医院、学校、幼儿园和房屋。我们不是从任何媒体上得知这些消息。我们直接目睹了这一切。

您足够信任我们使用我们的程序,我们请求您再次信任我们。我们需要帮助。走出家门,抗议这场毫无意义的战争。停止血腥。说“不,战争!”

🇺🇸 俄罗斯公民

我们Laminas的成员来自世界各地。我们中许多人有在俄罗斯和乌克兰的朋友、家人和同事。其中一些人出生在俄罗斯。一些人在俄罗斯生活。一些人的祖父母在第二次世界大战中与纳粹作战。这里没有人支持法西斯主义。

一位团队成员有一位乌克兰亲戚,她和儿子一起逃离了家园。火车因前方道路上的轰炸而延误。我们有朋友在防空洞里藏身。我们在空袭后焦急地追踪他们的消息,空袭不分青红皂白地轰炸医院、学校、幼儿园和房屋。我们不是从任何媒体上得知这些消息。这是我们亲身体验到的。

您足够信任我们使用我们的软件。我们请求您信任我们说出真相。我们需要您的帮助。走出家门,抗议这场不必要的战争。停止杀戮。说“停止战争!”

Laminas\Db是一个组件,通过面向对象的API构建查询来抽象对数据库的访问。Laminas\Db消费不同的存储适配器来访问不同的数据库供应商,如MySQL、PostgreSQL、Oracle、IBM DB2、Microsoft SQL Server、PDO等。

贡献

请务必阅读贡献者指南,了解有关贡献的一般信息。本节概述了针对laminas-db的特定信息。

测试套件

phpunit.xml.dist文件定义了两个测试套件,“单元测试”和“集成测试”。您可以使用phpunit--testsuite选项运行其中一个或另一个

$ ./vendor/bin/phpunit --testsuite "unit test" # unit tests only
$ ./vendor/bin/phpunit --testsuite "integration test" # integration tests only

单元测试不需要除正确安装并加载在您的PHP二进制文件中的适当数据库扩展之外的其他功能。

集成测试

要运行集成测试,您需要数据库。存储库包括一个Vagrantfile,允许您启动一个vagrant box,其中包含我们目标数据库中的几个,包括

  • MySQL
  • PostgreSQL
  • SQL Server

启动vagrant

$ vagrant up

phpunit.xml.dist复制到phpunit.xml,并将以下ENV变量声明值更改为“true”

  • TESTS_LAMINAS_DB_ADAPTER_DRIVER_MYSQL
  • TESTS_LAMINAS_DB_ADAPTER_DRIVER_SQLSRV
  • TESTS_LAMINAS_DB_ADAPTER_DRIVER_PGSQL
  • TESTS_LAMINAS_DB_ADAPTER_DRIVER_SQLITE_MEMORY

从这里,您可以运行集成测试

$ ./vendor/bin/phpunit --testsuite "integration test"