Skip to content

Commit 5694459

Browse files
committed
Add XML configuration
1 parent 2f9322b commit 5694459

File tree

2 files changed

+190
-44
lines changed

2 files changed

+190
-44
lines changed

Resources/config/schema/mongodb-1.0.xsd

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
<xsd:attribute name="hydrator-namespace" type="xsd:string" />
2424
<xsd:attribute name="proxy-dir" type="xsd:string" />
2525
<xsd:attribute name="proxy-namespace" type="xsd:string" />
26+
<xsd:attribute name="fixture-loader" type="xsd:string" />
2627
</xsd:complexType>
2728

2829
<xsd:complexType name="default-commit-options">

Resources/doc/config.rst

Lines changed: 189 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -4,24 +4,49 @@ DoctrineMongoDBBundle Configuration
44
Sample Configuration
55
--------------------
66

7-
.. code-block:: yaml
8-
9-
# app/config/config.yml
10-
doctrine_mongodb:
11-
connections:
12-
default:
13-
server: mongodb://localhost:27017
14-
options: {}
15-
default_database: hello_%kernel.environment%
16-
document_managers:
17-
default:
18-
mappings:
19-
AcmeDemoBundle: ~
20-
filters:
21-
filter-name:
22-
class: Class\Example\Filter\ODM\ExampleFilter
23-
enabled: true
24-
metadata_cache_driver: array # array, apc, xcache, memcache
7+
.. configuration-block::
8+
9+
.. code-block:: yaml
10+
11+
# app/config/config.yml
12+
doctrine_mongodb:
13+
connections:
14+
default:
15+
server: mongodb://localhost:27017
16+
options: {}
17+
default_database: hello_%kernel.environment%
18+
document_managers:
19+
default:
20+
mappings:
21+
AcmeDemoBundle: ~
22+
filters:
23+
filter-name:
24+
class: Class\Example\Filter\ODM\ExampleFilter
25+
enabled: true
26+
metadata_cache_driver: array # array, apc, xcache, memcache
27+
28+
.. code-block:: xml
29+
30+
<?xml version="1.0" ?>
31+
32+
<container xmlns="http://symfony.com/schema/dic/services"
33+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
34+
xmlns:doctrine_mongodb="http://symfony.com/schema/dic/doctrine/odm/mongodb"
35+
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd
36+
http://symfony.com/schema/dic/doctrine/odm/mongodb http://symfony.com/schema/dic/doctrine/odm/mongodb/mongodb-1.0.xsd">
37+
38+
<doctrine_mongodb:config default-database="hello_%kernel.environment%">
39+
<doctrine_mongodb:connection id="default" server="mongodb://localhost:27017">
40+
<doctrine_mongodb:options>
41+
</doctrine_mongodb:options>
42+
</doctrine_mongodb:connection>
43+
<doctrine_mongodb:document-manager id="default">
44+
<doctrine_mongodb:mapping name="AcmeDemoBundle" />
45+
<doctrine_mongodb:filter name="filter-name" enabled="true" class="Class\Example\Filter\ODM\ExampleFilter" />
46+
<doctrine_mongodb:metadata-cache-driver type="array" />
47+
</doctrine_mongodb:document-manager>
48+
</doctrine_mongodb:config>
49+
</container>
2550
2651
.. tip::
2752

@@ -141,25 +166,53 @@ follow these conventions:
141166

142167
The following configuration shows a bunch of mapping examples:
143168

144-
.. code-block:: yaml
145-
146-
doctrine_mongodb:
147-
document_managers:
148-
default:
149-
mappings:
150-
MyBundle1: ~
151-
MyBundle2: yml
152-
MyBundle3: { type: annotation, dir: Documents/ }
153-
MyBundle4: { type: xml, dir: Resources/config/doctrine/mapping }
154-
MyBundle5:
155-
type: yml
156-
dir: my-bundle-mappings-dir
157-
alias: BundleAlias
158-
doctrine_extensions:
159-
type: xml
160-
dir: "%kernel.root_dir%/../src/vendor/DoctrineExtensions/lib/DoctrineExtensions/Documents"
161-
prefix: DoctrineExtensions\Documents\
162-
alias: DExt
169+
.. configuration-block::
170+
171+
.. code-block:: yaml
172+
173+
doctrine_mongodb:
174+
document_managers:
175+
default:
176+
mappings:
177+
MyBundle1: ~
178+
MyBundle2: yml
179+
MyBundle3: { type: annotation, dir: Documents/ }
180+
MyBundle4: { type: xml, dir: Resources/config/doctrine/mapping }
181+
MyBundle5:
182+
type: yml
183+
dir: my-bundle-mappings-dir
184+
alias: BundleAlias
185+
doctrine_extensions:
186+
type: xml
187+
dir: "%kernel.root_dir%/../src/vendor/DoctrineExtensions/lib/DoctrineExtensions/Documents"
188+
prefix: DoctrineExtensions\Documents\
189+
alias: DExt
190+
191+
.. code-block:: xml
192+
193+
<?xml version="1.0" ?>
194+
195+
<container xmlns="http://symfony.com/schema/dic/services"
196+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
197+
xmlns:doctrine_mongodb="http://symfony.com/schema/dic/doctrine/odm/mongodb"
198+
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd
199+
http://symfony.com/schema/dic/doctrine/odm/mongodb http://symfony.com/schema/dic/doctrine/odm/mongodb/mongodb-1.0.xsd">
200+
201+
<doctrine_mongodb:config>
202+
<doctrine_mongodb:document-manager id="default">
203+
<doctrine_mongodb:mapping name="MyBundle1" />
204+
<doctrine_mongodb:mapping name="MyBundle2" type="yml" />
205+
<doctrine_mongodb:mapping name="MyBundle3" type="annotation" dir="Documents/" />
206+
<doctrine_mongodb:mapping name="MyNundle4" type="xml" dir="Resources/config/doctrine/mapping" />
207+
<doctrine_mongodb:mapping name="MyBundle5" type="yml" dir="my-bundle-mappings-dir" alias="BundleAlias" />
208+
<doctrine_mongodb:mapping name="doctrine_extensions"
209+
type="xml"
210+
dir="%kernel.root_dir%/../src/vendor/DoctrineExtensions/lib/DoctrineExtensions/Documents"
211+
prefix="DoctrineExtensions\Documents\"
212+
alias="DExt" />
213+
</doctrine_mongodb:document-manager>
214+
</doctrine_mongodb:config>
215+
</container>
163216
164217
Filters
165218
~~~~~~~
@@ -316,6 +369,21 @@ string as a comma separated list.
316369
default:
317370
server: "mongodb://mongodb-01:27017,mongodb-02:27017,mongodb-03:27017"
318371
372+
.. code-block:: xml
373+
374+
<?xml version="1.0" ?>
375+
376+
<container xmlns="http://symfony.com/schema/dic/services"
377+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
378+
xmlns:doctrine="http://symfony.com/schema/dic/doctrine/odm/mongodb"
379+
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd
380+
http://symfony.com/schema/dic/doctrine/odm/mongodb http://symfony.com/schema/dic/doctrine/odm/mongodb/mongodb-1.0.xsd">
381+
382+
<doctrine:mongodb>
383+
<doctrine:connection id="default" server="mongodb://mongodb-01:27017,mongodb-02:27017,mongodb-03:27017" />
384+
</doctrine:mongodb>
385+
</container>
386+
319387
Where mongodb-01, mongodb-02 and mongodb-03 are the machine hostnames. You
320388
can also use IP addresses if you prefer.
321389

@@ -373,19 +441,96 @@ Full Default Configuration
373441
id:
374442
server: ~
375443
options:
444+
authMechanism: ~
376445
connect: ~
377-
persist: ~
378-
timeout: ~
379-
replicaSet: ~
380-
username: ~
381-
password: ~
446+
connectTimeoutMS: ~
382447
db: ~
448+
journal: ~
449+
password: ~
450+
readPreference: ~
451+
readPreferenceTags: ~
452+
replicaSet: ~ # replica set name
453+
socketTimeoutMS: ~
454+
ssl: ~
455+
username: ~
456+
w: ~
457+
wTimeoutMS: ~
458+
383459
proxy_namespace: MongoDBODMProxies
384460
proxy_dir: "%kernel.cache_dir%/doctrine/odm/mongodb/Proxies"
385-
auto_generate_proxy_classes: false
461+
auto_generate_proxy_classes: 0
386462
hydrator_namespace: Hydrators
387463
hydrator_dir: "%kernel.cache_dir%/doctrine/odm/mongodb/Hydrators"
388-
auto_generate_hydrator_classes: false
464+
auto_generate_hydrator_classes: 0
389465
default_document_manager: ~
390466
default_connection: ~
391467
default_database: default
468+
fixture_loader: Symfony\Bridge\Doctrine\DataFixtures\ContainerAwareLoader
469+
470+
.. code-block:: xml
471+
472+
<?xml version="1.0" ?>
473+
474+
<container xmlns="http://symfony.com/schema/dic/services"
475+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
476+
xmlns:doctrine="http://symfony.com/schema/dic/doctrine/odm/mongodb"
477+
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd
478+
http://symfony.com/schema/dic/doctrine/odm/mongodb http://symfony.com/schema/dic/doctrine/odm/mongodb/mongodb-1.0.xsd">
479+
480+
<doctrine:config
481+
auto-generate-hydrator-classes="0"
482+
auto-generate-proxy-classes="0"
483+
default-connection=""
484+
default-database="default"
485+
default-document-manager=""
486+
hydrator-dir="%kernel.cache_dir%/doctrine/odm/mongodb/Hydrators"
487+
hydrator-namespace="Hydrators"
488+
proxy-dir="%kernel.cache_dir%/doctrine/odm/mongodb/Proxies"
489+
proxy-namespace="Proxies"
490+
fixture-loader="Symfony\Bridge\Doctrine\DataFixtures\ContainerAwareLoader"
491+
>
492+
<doctrine:document-manager id="id"
493+
connection=""
494+
database=""
495+
default-repository-class=""
496+
repository-factory=""
497+
logging="true"
498+
auto-mapping="false"
499+
retry-connect="0"
500+
retry-query="0"
501+
>
502+
<doctrine:metadata-cache-driver type="">
503+
<doctrine:class></doctrine:class>
504+
<doctrine:host></doctrine:host>
505+
<doctrine:port></doctrine:port>
506+
<doctrine:instance-class></doctrine:instance-class>
507+
</doctrine:metadata-cache-driver>
508+
<doctrine:mapping name="name"
509+
type=""
510+
dir=""
511+
prefix=""
512+
alias=""
513+
is-bundle=""
514+
/>
515+
<doctrine:profiler enabled="true" pretty="false" />
516+
</doctrine:document-manager>
517+
<doctrine:connection id="conn1" server="mongodb://localhost">
518+
<doctrine:options
519+
authMechanism=""
520+
connect=""
521+
connectTimeoutMS=""
522+
db=""
523+
journal=""
524+
password=""
525+
readPreference=""
526+
replicaSet=""
527+
socketTimeoutMS=""
528+
ssl=""
529+
username=""
530+
w=""
531+
wTimeoutMS=""
532+
>
533+
</doctrine:options>
534+
</doctrine:connection>
535+
</doctrine:config>
536+
</container>

0 commit comments

Comments
 (0)