idct / adminata-doctrine-orm-admin-bundle
Doctrine ORM storage layer for adminata, under the IDCT\Adminata\DoctrineORM namespace. A hard fork of sonata-project/doctrine-orm-admin-bundle, which it conflicts with.
Package info
github.com/ideaconnect/adminata-doctrine-orm-admin-bundle
Type:symfony-bundle
pkg:composer/idct/adminata-doctrine-orm-admin-bundle
Requires
- php: ^8.4
- doctrine/collections: ^2.0 || ^3.0
- doctrine/dbal: ^4.0
- doctrine/doctrine-bundle: ^3.0
- doctrine/orm: ^3.6
- doctrine/persistence: ^4.0
- idct/adminata: dev-main
- symfony/config: ^7.4 || ^8.0
- symfony/console: ^7.4 || ^8.0
- symfony/dependency-injection: ^7.4 || ^8.0
- symfony/doctrine-bridge: ^7.4 || ^8.0
- symfony/form: ^7.4 || ^8.0
- symfony/framework-bundle: ^7.4 || ^8.0
- symfony/http-foundation: ^7.4 || ^8.0
- symfony/http-kernel: ^7.4 || ^8.0
- symfony/options-resolver: ^7.4 || ^8.0
- symfony/property-access: ^7.4 || ^8.0
- twig/twig: ^3.28
Requires (Dev)
- dama/doctrine-test-bundle: ^8.6
- doctrine/doctrine-fixtures-bundle: ^4.3
- ergebnis/composer-normalize: ^2.52
- friendsofphp/php-cs-fixer: ^3.95
- knplabs/knp-menu-bundle: ^3.0
- matthiasnoback/symfony-dependency-injection-test: ^6.3
- phpstan/extension-installer: ^1.4
- phpstan/phpstan: ^2.2
- phpstan/phpstan-phpunit: ^2.0
- phpstan/phpstan-strict-rules: ^2.0
- phpstan/phpstan-symfony: ^2.0
- phpunit/phpunit: ^13.3
- rector/rector: ^2.6
- sonata-project/entity-audit-bundle: ^1.23
- symfony/browser-kit: ^7.4 || ^8.0
- symfony/css-selector: ^7.4 || ^8.0
- symfony/dom-crawler: ^7.4 || ^8.0
- symfony/filesystem: ^7.4 || ^8.0
- symfony/panther: ^2.4
- symfony/property-info: ^7.4 || ^8.0
- symfony/security-acl: ^3.3
- symfony/security-bundle: ^7.4 || ^8.0
- symfony/stimulus-bundle: ^3.4
- symfony/twig-bundle: ^7.4 || ^8.0
- symfony/uid: ^7.4 || ^8.0
- symfony/yaml: ^7.4 || ^8.0
Suggests
- sonata-project/entity-audit-bundle: To enable the entity history pages (post-1.0)
Provides
Conflicts
- sonata-project/doctrine-orm-admin-bundle: *
- sonata-project/entity-audit-bundle: >=2.0
- symfony/security-acl: <3.1 || >=4.0
Replaces
None
This package is auto-updated.
Last update: 2026-09-12 18:20:42 UTC
README
Doctrine ORM support for adminata — the storage layer that turns a Doctrine entity into a list, a filter, a form, a show page and an export.
This is a hard fork of sonata-project/doctrine-orm-admin-bundle 4.21.0, and since 2.0 it no
longer answers to that package's names: the namespace is IDCT\Adminata\DoctrineORM\, the bundle
class AdminataDoctrineORMBundle, the configuration root adminata_doctrine_orm, the Twig
namespace @AdminataDoctrineORM, and every service id starts with adminata.. It conflicts
with the package it forked rather than replacing it. What it does is unchanged: a Doctrine entity
becomes a list, a filter, a form, a show page and an export, on top of idct/adminata. Coming
from 1.x or from upstream: adminata's UPGRADE.md
has the whole map, and UPGRADE-2.0.md the rows that are this package's.
Installation
composer require idct/adminata:dev-main idct/adminata-doctrine-orm-admin-bundle
Both come from Packagist. The explicit dev-main is what lets a project with
minimum-stability: stable take adminata, whose 1.0 is not tagged yet, so that branch is its only
version there.
Register the two bundles in config/bundles.php:
IDCT\Adminata\AdminataBundle::class => ['all' => true], IDCT\Adminata\DoctrineORM\AdminataDoctrineORMBundle::class => ['all' => true],
Two lines, not seven: AdminataBundle carries the block, Doctrine, form, Twig-helper and
exporter stacks, so there is no SonataBlockBundle, SonataDoctrineBundle, SonataFormBundle,
SonataTwigBundle or SonataExporterBundle to register.
Documentation: docs/, or make docs to build the site.
Storage layers
| Layer | Package |
|---|---|
| Doctrine ORM | this one |
| Doctrine MongoDB ODM | idct/adminata-admin-mongodb-bundle (7.0; 6.x is idct/sonata-admin-mongodb-bundle) |
Development
make install # dependencies make services-up # the MySQL the suite runs against make qa # php-cs-fixer, PHPStan, Rector, PHPUnit and the names gate
adminata supports MySQL, MariaDB and Percona; there is no SQLite support, so the suite needs a
running server. docker compose up -d database starts a matching MySQL on port 7010; point the
suite elsewhere with DATABASE_URL and ADMINATA_TEST_DATABASE_URL.
The Panther tests drive a real browser. Either install a geckodriver, or run
docker compose up -d selenium and export PANTHER_SELENIUM_HOST=http://127.0.0.1:4444. With that
set, the test application is served on every interface and the browser is handed
host.docker.internal, which is the only address a container can reach the host on.
The legacy-ui group is excluded by default: those scenarios click through the Bootstrap markup
adminata replaced, and they pass again when its milestones M3 and M4 rewrite the templates. Run
them with vendor/bin/phpunit --group legacy-ui to see where that stands.
Licence
MIT. See LICENSE and NOTICE; the upstream history is in CHANGELOG.md and the imported commit is recorded in UPSTREAM.md.