{"id":24397716,"url":"https://github.com/pomm-project/modelmanager","last_synced_at":"2025-04-06T14:11:10.869Z","repository":{"id":21295598,"uuid":"24611751","full_name":"pomm-project/ModelManager","owner":"pomm-project","description":"Model Manager for the Pomm database framework.","archived":false,"fork":false,"pushed_at":"2023-07-27T12:42:53.000Z","size":419,"stargazers_count":66,"open_issues_count":20,"forks_count":27,"subscribers_count":8,"default_branch":"2.0","last_synced_at":"2025-03-30T12:07:57.316Z","etag":null,"topics":["database","entity","modelmanager","php","pomm","postgres","postgresql","transaction"],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pomm-project.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2014-09-29T20:30:07.000Z","updated_at":"2023-07-27T12:42:58.000Z","dependencies_parsed_at":"2022-08-20T15:20:26.632Z","dependency_job_id":"2ee155b5-e725-4f1c-9bf7-66569ffd2063","html_url":"https://github.com/pomm-project/ModelManager","commit_stats":{"total_commits":219,"total_committers":12,"mean_commits":18.25,"dds":"0.20547945205479456","last_synced_commit":"34704edfafff693343aad9becf0c6e8e90860176"},"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pomm-project%2FModelManager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pomm-project%2FModelManager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pomm-project%2FModelManager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pomm-project%2FModelManager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pomm-project","download_url":"https://codeload.github.com/pomm-project/ModelManager/tar.gz/refs/heads/2.0","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247492513,"owners_count":20947544,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["database","entity","modelmanager","php","pomm","postgres","postgresql","transaction"],"created_at":"2025-01-19T22:39:16.893Z","updated_at":"2025-04-06T14:11:10.847Z","avatar_url":"https://github.com/pomm-project.png","language":"PHP","readme":"# Pomm ModelManager\n\n[![Latest Stable Version](https://poser.pugx.org/pomm-project/model-manager/v/stable)](https://packagist.org/packages/pomm-project/model-manager) [![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/pomm-project/ModelManager/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/pomm-project/ModelManager/?branch=master) [![Build Status](https://travis-ci.org/pomm-project/ModelManager.svg)](https://travis-ci.org/pomm-project/ModelManager) [![Monthly Downloads](https://poser.pugx.org/pomm-project/model-manager/d/monthly.png)](https://packagist.org/packages/pomm-project/model-manager) [![License](https://poser.pugx.org/pomm-project/model-manager/license.svg)](https://packagist.org/packages/pomm-project/model-manager)\n\n\nModelManager is 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.\n\nThis package will provide:\n\n * Model classes with all common built-in queries (CRUD but also, `count` and `exists`).\n * Flexible entities\n * Embedded entities converter\n * Model Layer to group model computations in transactions.\n\nThe model layer also proposes methods to leverage Postgres nice transaction settings (constraint deferring, isolation levels, read / write access modes etc.).\n\n## Installation\n\nPomm components are available on [packagist](https://packagist.org/packages/pomm-project/) using [composer](https://packagist.org/). To install and use Pomm's model manager, add a require line to `\"pomm-project/model-manager\"` in your `composer.json` file. It is advised to install the [CLI package](https://github.com/pomm-project/Cli) as well.\n\nIn order to load the model manager's poolers at startup, it is possible to use the provided `SessionBuilder` in Pomm's configuration:\n\n```php\n$pomm = new Pomm([\n    'project_name' =\u003e [\n        'dsn' =\u003e …,\n        'class:session_builder' =\u003e '\\PommProject\\ModelManager\\SessionBuilder',\n    ],\n    …\n]);\n```\n\nIt is better to provide dedicated session builders with your project.\n\n## Documentation\n\nThe model manager’s documentation is available [either online](https://github.com/pomm-project/ModelManager/blob/master/documentation/model_manager.rst) or directly in the `documentation` folder.\n\n## Tests\n\nThis 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.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpomm-project%2Fmodelmanager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpomm-project%2Fmodelmanager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpomm-project%2Fmodelmanager/lists"}