umanit-pomm/model-manager

Postgresql 对象模型管理器

2.2.0 2023-01-13 14:55 UTC

This package is auto-updated.

Last update: 2024-09-13 14:26:56 UTC


README

Latest Stable Version Scrutinizer Code Quality Build Status Monthly Downloads License

ModelManager 是一个 Pomm 项目 包。它使开发者能够通过模型类管理数据库上的实体。 它不是一个 ORM,它授予开发者使用所有 PostgreSQL 的 SQL 和几乎所有其类型的权限。这使得模型层在保持轻量化的同时满足性能需求。

本包将提供以下功能

  • 具有所有常用内置查询(CRUD、count 和 exists)的模型类。
  • 灵活的实体
  • 嵌入式实体转换器
  • 模型层以在事务中分组模型计算。

模型层还提供了一些方法,可以利用 PostgreSQL 精美的事务设置(约束延迟、隔离级别、读写访问模式等)。

安装

Pomm 组件可通过 packagist 使用 composer 获取。要安装和使用 Pomm 的模型管理器,请将 "pomm-project/model-manager" 添加到您的 composer.json 文件中的 require 行。建议同时安装 CLI 包

为了在启动时加载模型管理器的池,您可以使用 Pomm 配置中提供的 SessionBuilder

$pomm = new Pomm([
    'project_name' => [
        'dsn' => …,
        'class:session_builder' => '\PommProject\ModelManager\SessionBuilder',
    ],
    …
]);

最好为您的项目提供专用的会话构建器。

文档

模型管理器的文档可在 线上的网址 或直接在 documentation 文件夹中查看。

测试

此包使用 Atoum 作为单元测试框架。测试位于 sources/tests。此包还提供了一个 ModelSessionAtoum 类,以便测试类可以直接获取带有 modelmodel layer 池的会话。