From 2bf874b4e3a20a134dcc818301df363871245f31 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Tamarelle?= Date: Fri, 16 Jan 2026 13:26:38 +0100 Subject: [PATCH] Make `doctrine/mongodb-odm-bundle` an official recipe (#1509) * Import doctrine/mongodb-odm-bundle recipes from contrib * Add alias 'mongodb-odm' for 'doctrine/mongodb-odm-bundle' * No need to resolve MONGODB_URL env var --- .../3.3/config/packages/doctrine_mongodb.yaml | 18 ++++++++ .../packages/prod/doctrine_mongodb.yaml | 21 +++++++++ doctrine/mongodb-odm-bundle/3.3/manifest.json | 14 ++++++ .../3.3/src/Document/.gitignore | 0 .../4.1/config/packages/doctrine_mongodb.yaml | 42 +++++++++++++++++ doctrine/mongodb-odm-bundle/4.1/manifest.json | 18 ++++++++ .../4.1/src/Document/.gitignore | 0 .../4.4/config/packages/doctrine_mongodb.yaml | 33 +++++++++++++ doctrine/mongodb-odm-bundle/4.4/manifest.json | 46 +++++++++++++++++++ .../4.4/src/Document/.gitignore | 0 .../5.0/config/packages/doctrine_mongodb.yaml | 31 +++++++++++++ doctrine/mongodb-odm-bundle/5.0/manifest.json | 46 +++++++++++++++++++ .../5.0/src/Document/.gitignore | 0 13 files changed, 269 insertions(+) create mode 100644 doctrine/mongodb-odm-bundle/3.3/config/packages/doctrine_mongodb.yaml create mode 100644 doctrine/mongodb-odm-bundle/3.3/config/packages/prod/doctrine_mongodb.yaml create mode 100644 doctrine/mongodb-odm-bundle/3.3/manifest.json create mode 100644 doctrine/mongodb-odm-bundle/3.3/src/Document/.gitignore create mode 100644 doctrine/mongodb-odm-bundle/4.1/config/packages/doctrine_mongodb.yaml create mode 100644 doctrine/mongodb-odm-bundle/4.1/manifest.json create mode 100644 doctrine/mongodb-odm-bundle/4.1/src/Document/.gitignore create mode 100644 doctrine/mongodb-odm-bundle/4.4/config/packages/doctrine_mongodb.yaml create mode 100644 doctrine/mongodb-odm-bundle/4.4/manifest.json create mode 100644 doctrine/mongodb-odm-bundle/4.4/src/Document/.gitignore create mode 100644 doctrine/mongodb-odm-bundle/5.0/config/packages/doctrine_mongodb.yaml create mode 100644 doctrine/mongodb-odm-bundle/5.0/manifest.json create mode 100644 doctrine/mongodb-odm-bundle/5.0/src/Document/.gitignore diff --git a/doctrine/mongodb-odm-bundle/3.3/config/packages/doctrine_mongodb.yaml b/doctrine/mongodb-odm-bundle/3.3/config/packages/doctrine_mongodb.yaml new file mode 100644 index 00000000..d0b3d085 --- /dev/null +++ b/doctrine/mongodb-odm-bundle/3.3/config/packages/doctrine_mongodb.yaml @@ -0,0 +1,18 @@ +doctrine_mongodb: + auto_generate_proxy_classes: true + auto_generate_hydrator_classes: true + connections: + default: + server: '%env(MONGODB_URI)%' + options: {} + default_database: '%env(MONGODB_DB)%' + document_managers: + default: + auto_mapping: true + mappings: + App: + is_bundle: false + type: annotation + dir: '%kernel.project_dir%/src/Document' + prefix: 'App\Document' + alias: App diff --git a/doctrine/mongodb-odm-bundle/3.3/config/packages/prod/doctrine_mongodb.yaml b/doctrine/mongodb-odm-bundle/3.3/config/packages/prod/doctrine_mongodb.yaml new file mode 100644 index 00000000..60f6b834 --- /dev/null +++ b/doctrine/mongodb-odm-bundle/3.3/config/packages/prod/doctrine_mongodb.yaml @@ -0,0 +1,21 @@ +doctrine_mongodb: + auto_generate_proxy_classes: false + auto_generate_hydrator_classes: false + document_managers: + default: + metadata_cache_driver: + type: service + id: doctrine_mongodb.system_cache_provider + +services: + doctrine_mongodb.system_cache_provider: + class: Symfony\Component\Cache\DoctrineProvider + public: false + arguments: + - '@doctrine_mongodb.system_cache_pool' + +framework: + cache: + pools: + doctrine_mongodb.system_cache_pool: + adapter: cache.system diff --git a/doctrine/mongodb-odm-bundle/3.3/manifest.json b/doctrine/mongodb-odm-bundle/3.3/manifest.json new file mode 100644 index 00000000..8ee5f4df --- /dev/null +++ b/doctrine/mongodb-odm-bundle/3.3/manifest.json @@ -0,0 +1,14 @@ +{ + "bundles": { + "Doctrine\\Bundle\\MongoDBBundle\\DoctrineMongoDBBundle": ["all"] + }, + "copy-from-recipe": { + "config/": "%CONFIG_DIR%/", + "src/": "%SRC_DIR%/" + }, + "env": { + "MONGODB_URI": "mongodb://localhost:27017", + "MONGODB_DB": "symfony" + }, + "aliases": ["mongodb-odm", "doctrine-mongodb", "mongo-odm", "doctrine-mongo"] +} diff --git a/doctrine/mongodb-odm-bundle/3.3/src/Document/.gitignore b/doctrine/mongodb-odm-bundle/3.3/src/Document/.gitignore new file mode 100644 index 00000000..e69de29b diff --git a/doctrine/mongodb-odm-bundle/4.1/config/packages/doctrine_mongodb.yaml b/doctrine/mongodb-odm-bundle/4.1/config/packages/doctrine_mongodb.yaml new file mode 100644 index 00000000..fdd9080b --- /dev/null +++ b/doctrine/mongodb-odm-bundle/4.1/config/packages/doctrine_mongodb.yaml @@ -0,0 +1,42 @@ +doctrine_mongodb: + auto_generate_proxy_classes: true + auto_generate_hydrator_classes: true + connections: + default: + server: '%env(MONGODB_URI)%' + options: {} + default_database: '%env(MONGODB_DB)%' + document_managers: + default: + auto_mapping: true + mappings: + App: + is_bundle: false + type: annotation + dir: '%kernel.project_dir%/src/Document' + prefix: 'App\Document' + alias: App + +when@prod: + doctrine_mongodb: + auto_generate_proxy_classes: false + auto_generate_hydrator_classes: false + document_managers: + default: + metadata_cache_driver: + type: service + id: doctrine_mongodb.system_cache_provider + + services: + doctrine_mongodb.system_cache_provider: + factory: ['Doctrine\Common\Cache\Psr6\DoctrineProvider', 'wrap'] + class: 'Doctrine\Common\Cache\Psr6\DoctrineProvider' + public: false + arguments: + - '@doctrine_mongodb.system_cache_pool' + + framework: + cache: + pools: + doctrine_mongodb.system_cache_pool: + adapter: cache.system diff --git a/doctrine/mongodb-odm-bundle/4.1/manifest.json b/doctrine/mongodb-odm-bundle/4.1/manifest.json new file mode 100644 index 00000000..26a02ec5 --- /dev/null +++ b/doctrine/mongodb-odm-bundle/4.1/manifest.json @@ -0,0 +1,18 @@ +{ + "bundles": { + "Doctrine\\Bundle\\MongoDBBundle\\DoctrineMongoDBBundle": ["all"] + }, + "copy-from-recipe": { + "config/": "%CONFIG_DIR%/", + "src/": "%SRC_DIR%/" + }, + "env": { + "MONGODB_URI": "mongodb://localhost:27017", + "MONGODB_DB": "symfony" + }, + "conflict": { + "doctrine/cache": "<1.11", + "symfony/framework-bundle": "<5.3" + }, + "aliases": ["mongodb-odm", "doctrine-mongodb", "mongo-odm", "doctrine-mongo"] +} diff --git a/doctrine/mongodb-odm-bundle/4.1/src/Document/.gitignore b/doctrine/mongodb-odm-bundle/4.1/src/Document/.gitignore new file mode 100644 index 00000000..e69de29b diff --git a/doctrine/mongodb-odm-bundle/4.4/config/packages/doctrine_mongodb.yaml b/doctrine/mongodb-odm-bundle/4.4/config/packages/doctrine_mongodb.yaml new file mode 100644 index 00000000..4b1e7b63 --- /dev/null +++ b/doctrine/mongodb-odm-bundle/4.4/config/packages/doctrine_mongodb.yaml @@ -0,0 +1,33 @@ +doctrine_mongodb: + auto_generate_proxy_classes: true + auto_generate_hydrator_classes: true + connections: + default: + server: '%env(MONGODB_URI)%' + options: {} + default_database: '%env(MONGODB_DB)%' + document_managers: + default: + auto_mapping: true + mappings: + App: + is_bundle: false + dir: '%kernel.project_dir%/src/Document' + prefix: 'App\Document' + alias: App + +when@prod: + doctrine_mongodb: + auto_generate_proxy_classes: false + auto_generate_hydrator_classes: false + document_managers: + default: + metadata_cache_driver: + type: service + id: doctrine_mongodb.system_cache_pool + + framework: + cache: + pools: + doctrine_mongodb.system_cache_pool: + adapter: cache.system diff --git a/doctrine/mongodb-odm-bundle/4.4/manifest.json b/doctrine/mongodb-odm-bundle/4.4/manifest.json new file mode 100644 index 00000000..39fd8d94 --- /dev/null +++ b/doctrine/mongodb-odm-bundle/4.4/manifest.json @@ -0,0 +1,46 @@ +{ + "bundles": { + "Doctrine\\Bundle\\MongoDBBundle\\DoctrineMongoDBBundle": ["all"] + }, + "copy-from-recipe": { + "config/": "%CONFIG_DIR%/", + "src/": "%SRC_DIR%/" + }, + "env": { + "#1": "Format described at https://www.mongodb.com/docs/php-library/current/connect/connection-options/", + "#2": "MONGODB_URI=\"mongodb://username:password@localhost:27017/?authSource=auth-db\"", + "#3": "MONGODB_URI=\"mongodb+srv://username:password@YOUR_CLUSTER_NAME.YOUR_HASH.mongodb.net/?retryWrites=true&w=majority\"", + "MONGODB_URI": "mongodb://localhost:27017", + "MONGODB_DB": "symfony" + }, + "dockerfile": [ + "RUN install-php-extensions mongodb" + ], + "docker-compose": { + "compose.yaml": { + "services": [ + "mongodb:", + " # In production, you may want to use a managed database service", + " image: mongodb/mongodb-community-server:latest", + " environment:", + " - MONGODB_INITDB_DATABASE=${MONGODB_DB:-app}", + " # You should definitely set a root username and password in production", + " - MONGODB_INITDB_ROOT_USERNAME=${MONGODB_USERNAME:-}", + " - MONGODB_INITDB_ROOT_PASSWORD=${MONGODB_PASSWORD:-}", + " volumes:", + " - mongodb_data:/data/db:rw", + " # You may use a bind-mounted host directory instead, so that it is harder to accidentally remove the volume and lose all your data!", + " # - ./docker/mongodb/data:/data/db:rw" + ], + "volumes": ["mongodb_data:"] + }, + "compose.override.yaml": { + "services": [ + "mongodb:", + " ports:", + " - \"27017\"" + ] + } + }, + "aliases": ["mongodb-odm", "doctrine-mongodb", "mongo-odm", "doctrine-mongo"] +} diff --git a/doctrine/mongodb-odm-bundle/4.4/src/Document/.gitignore b/doctrine/mongodb-odm-bundle/4.4/src/Document/.gitignore new file mode 100644 index 00000000..e69de29b diff --git a/doctrine/mongodb-odm-bundle/5.0/config/packages/doctrine_mongodb.yaml b/doctrine/mongodb-odm-bundle/5.0/config/packages/doctrine_mongodb.yaml new file mode 100644 index 00000000..bb22574d --- /dev/null +++ b/doctrine/mongodb-odm-bundle/5.0/config/packages/doctrine_mongodb.yaml @@ -0,0 +1,31 @@ +doctrine_mongodb: + auto_generate_proxy_classes: true + auto_generate_hydrator_classes: true + connections: + default: + server: '%env(MONGODB_URI)%' + options: {} + default_database: '%env(MONGODB_DB)%' + document_managers: + default: + auto_mapping: true + mappings: + App: + dir: '%kernel.project_dir%/src/Document' + prefix: 'App\Document' + +when@prod: + doctrine_mongodb: + auto_generate_proxy_classes: false + auto_generate_hydrator_classes: false + document_managers: + default: + metadata_cache_driver: + type: service + id: doctrine_mongodb.system_cache_pool + + framework: + cache: + pools: + doctrine_mongodb.system_cache_pool: + adapter: cache.system diff --git a/doctrine/mongodb-odm-bundle/5.0/manifest.json b/doctrine/mongodb-odm-bundle/5.0/manifest.json new file mode 100644 index 00000000..eb44037e --- /dev/null +++ b/doctrine/mongodb-odm-bundle/5.0/manifest.json @@ -0,0 +1,46 @@ +{ + "bundles": { + "Doctrine\\Bundle\\MongoDBBundle\\DoctrineMongoDBBundle": ["all"] + }, + "copy-from-recipe": { + "config/": "%CONFIG_DIR%/", + "src/": "%SRC_DIR%/" + }, + "env": { + "#1": "Format described at https://www.mongodb.com/docs/php-library/current/connect/connection-options/", + "#2": "MONGODB_URI=\"mongodb://username:password@localhost:27017/?authSource=auth-db\"", + "#3": "MONGODB_URI=\"mongodb+srv://username:password@YOUR_CLUSTER_NAME.YOUR_HASH.mongodb.net/?retryWrites=true&w=majority\"", + "MONGODB_URI": "mongodb://localhost:27017", + "MONGODB_DB": "symfony" + }, + "dockerfile": [ + "RUN install-php-extensions mongodb" + ], + "docker-compose": { + "compose.yaml": { + "services": [ + "mongodb:", + " # In production, you may want to use a managed database service", + " image: mongodb/mongodb-atlas-local:latest", + " environment:", + " - MONGODB_INITDB_DATABASE=${MONGODB_DB:-app}", + " # You should definitely set a root username and password in production", + " - MONGODB_INITDB_ROOT_USERNAME=${MONGODB_USERNAME:-}", + " - MONGODB_INITDB_ROOT_PASSWORD=${MONGODB_PASSWORD:-}", + " volumes:", + " - mongodb_data:/data/db:rw", + " # You may use a bind-mounted host directory instead, so that it is harder to accidentally remove the volume and lose all your data!", + " # - ./docker/mongodb/data:/data/db:rw" + ], + "volumes": ["mongodb_data:"] + }, + "compose.override.yaml": { + "services": [ + "mongodb:", + " ports:", + " - \"27017\"" + ] + } + }, + "aliases": ["mongodb-odm", "doctrine-mongodb", "mongo-odm", "doctrine-mongo"] +} diff --git a/doctrine/mongodb-odm-bundle/5.0/src/Document/.gitignore b/doctrine/mongodb-odm-bundle/5.0/src/Document/.gitignore new file mode 100644 index 00000000..e69de29b