PHPackages                             conserto/pomm-model-manager - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Database &amp; ORM](/categories/database)
4. /
5. conserto/pomm-model-manager

ActiveLibrary[Database &amp; ORM](/categories/database)

conserto/pomm-model-manager
===========================

PHP Object Model Manager for Postgresql

4.0.8(5mo ago)415.7k↓19.3%[1 PRs](https://github.com/Conserto/pomm-model-manager/pulls)3MITPHPPHP &gt;=8.4

Since Dec 15Pushed 5mo agoCompare

[ Source](https://github.com/Conserto/pomm-model-manager)[ Packagist](https://packagist.org/packages/conserto/pomm-model-manager)[ Docs](http://www.pomm-project.org)[ RSS](/packages/conserto-pomm-model-manager/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (10)Dependencies (5)Versions (45)Used By (3)

Pomm ModelManager
=================

[](#pomm-modelmanager)

[![Latest Stable Version](https://camo.githubusercontent.com/8298d83119e2a2eb9cc330b2bd391f64f92bd7cd99bd633716c1bdb857181fd1/68747470733a2f2f706f7365722e707567782e6f72672f636f6e736572746f2f706f6d6d2d6d6f64656c2d6d616e616765722f762f737461626c65)](https://packagist.org/packages/conserto/pomm-model-manager)[![CI Status](https://github.com/conserto/pomm-model-manager/actions/workflows/ci.yml/badge.svg)](https://github.com/conserto/pomm-model-manager/actions/workflows/ci.yml/badge.svg)[![Monthly Downloads](https://camo.githubusercontent.com/7e14da51f3841743ada57f8d747ddcd601f14ced6baa8649def739326370e31a/68747470733a2f2f706f7365722e707567782e6f72672f636f6e736572746f2f706f6d6d2d6d6f64656c2d6d616e616765722f642f6d6f6e74686c792e706e67)](https://packagist.org/packages/conserto/pomm-model-manager)[![License](https://camo.githubusercontent.com/1cd9c07f9f88cdc4596a861ec0d9201935899554c0e0b2dfb77b0f4bc5f3c204/68747470733a2f2f706f7365722e707567782e6f72672f636f6e736572746f2f706f6d6d2d6d6f64656c2d6d616e616765722f6c6963656e73652e737667)](https://packagist.org/packages/conserto/pomm-model-manager)

This as fork of ModelManager, a [Pomm project](http://www.pomm-project.org) package. It makes developers able to manage entities upon the database through model classes. **It is not an ORM**, it grants developers with the ability to perform native queries using all of Postgres’SQL and use almost all its types. This makes model layer to meet with performances while staying lean.

This package will provide:

- Model classes with all common built-in queries (CRUD but also, `count` and `exists`).
- Flexible entities
- Embedded entities converter
- Model Layer to group model computations in transactions.

The model layer also proposes methods to leverage Postgres nice transaction settings (constraint deferring, isolation levels, read / write access modes etc.).

Installation
------------

[](#installation)

Pomm components are available on [packagist](https://packagist.org/packages/conserto/) using [composer](https://packagist.org/). To install and use Pomm's model manager, add a require line to `"conserto/pomm-model-manager"` in your `composer.json` file. It is advised to install the [CLI package](https://github.com/conserto/pomm-cli) as well.

In order to load the model manager's poolers at startup, it is possible to use the provided `SessionBuilder` in Pomm's configuration:

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

It is better to provide dedicated session builders with your project.

Documentation
-------------

[](#documentation)

The model manager’s documentation is available [either online](https://github.com/conserto/pomm-model-manager/blob/master/documentation/model_manager.rst) or directly in the `documentation` folder.

Tests
-----

[](#tests)

This package uses Atoum as unit test framework. The tests are located in `sources/tests`. This package also provides a `ModelSessionAtoum` class so the test classes can directly get sessions with the `model` and `model layer` poolers loaded.

###  Health Score

58

—

FairBetter than 98% of packages

Maintenance73

Regular maintenance activity

Popularity30

Limited adoption so far

Community19

Small or concentrated contributor base

Maturity93

Battle-tested with a long release history

 Bus Factor1

Top contributor holds 73.8% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~134 days

Recently: every ~70 days

Total

31

Last Release

153d ago

Major Versions

2.0.x-dev → 3.0.02022-07-01

3.4.0 → 4.0.02024-12-17

PHP version history (3 changes)2.0-beta-1PHP &gt;=5.4.4

3.0.0PHP &gt;=8.1

4.0.0PHP &gt;=8.4

### Community

Maintainers

![](https://www.gravatar.com/avatar/09b111aacc97d5aa965e0067355541e8f85a39a47ad9445c147a45b51b67ddbc?d=identicon)[Conserto-contributor](/maintainers/Conserto-contributor)

---

Top Contributors

[![chanmix51](https://avatars.githubusercontent.com/u/81580?v=4)](https://github.com/chanmix51 "chanmix51 (200 commits)")[![neufman](https://avatars.githubusercontent.com/u/7502193?v=4)](https://github.com/neufman "neufman (22 commits)")[![dougetovski](https://avatars.githubusercontent.com/u/12248685?v=4)](https://github.com/dougetovski "dougetovski (14 commits)")[![maximechagnolleau](https://avatars.githubusercontent.com/u/6151180?v=4)](https://github.com/maximechagnolleau "maximechagnolleau (13 commits)")[![sanpii](https://avatars.githubusercontent.com/u/113045?v=4)](https://github.com/sanpii "sanpii (8 commits)")[![stood](https://avatars.githubusercontent.com/u/327248?v=4)](https://github.com/stood "stood (5 commits)")[![ronanguilloux](https://avatars.githubusercontent.com/u/313677?v=4)](https://github.com/ronanguilloux "ronanguilloux (4 commits)")[![scrutinizer-auto-fixer](https://avatars.githubusercontent.com/u/6253494?v=4)](https://github.com/scrutinizer-auto-fixer "scrutinizer-auto-fixer (2 commits)")[![webaaz](https://avatars.githubusercontent.com/u/489498?v=4)](https://github.com/webaaz "webaaz (2 commits)")[![npanau](https://avatars.githubusercontent.com/u/458684?v=4)](https://github.com/npanau "npanau (1 commits)")

---

Tags

databaseormpostgresqlpomm

###  Code Quality

Static AnalysisPHPStan, Rector

Type Coverage Yes

### Embed Badge

![Health badge](/badges/conserto-pomm-model-manager/health.svg)

```
[![Health](https://phpackages.com/badges/conserto-pomm-model-manager/health.svg)](https://phpackages.com/packages/conserto-pomm-model-manager)
```

###  Alternatives

[doctrine/dbal

Powerful PHP database abstraction layer (DBAL) with many features for database schema introspection and management.

9.7k578.4M5.6k](/packages/doctrine-dbal)[pomm-project/model-manager

PHP Object Model Manager for Postgresql

69281.6k6](/packages/pomm-project-model-manager)[cycle/database

DBAL, schema introspection, migration and pagination

64690.9k31](/packages/cycle-database)[pomm-project/pomm-bundle

The Symfony2 bundle for Pomm2

81198.7k4](/packages/pomm-project-pomm-bundle)[tommyknocker/pdo-database-class

Framework-agnostic PHP database library with unified API for MySQL, MariaDB, PostgreSQL, SQLite, MSSQL, and Oracle. Query Builder, caching, sharding, window functions, CTEs, JSON, migrations, ActiveRecord, CLI tools, AI-powered analysis. Zero external dependencies.

845.7k](/packages/tommyknocker-pdo-database-class)[pomm-project/cli

Command line for Pomm.

19243.5k4](/packages/pomm-project-cli)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
