First of all, Doctrine is pretty extensible. There definitely should be a way of extending it with your bundle code without the need to modify anything in vendor/
.
Doctrine's doc states that json
type is already supported: http://doctrine-dbal.readthedocs.org/en/latest/reference/types.html#mapping-matrix. hstore
is not, according to the doc, but if you can implement it, that's something worth merging into the Doctrine project.
The datetime issue is known, too: http://docs.doctrine-project.org/projects/doctrine-dbal/en/latest/reference/known-vendor-issues.html#postgresql
On forking Composer-provided libraries: you can fork Doctrine on Github and add a repositories
block into your composer.json
, pointing to your fork:
{
...
"repositories": [
{
"type": "vcs",
"url": "http://github.com/**your/fork**"
}
]
}
Update the Doctrine package with Composer (that should be php composer.phar update doctrine/orm
, or doctrine/dbal
, doctrine/common
or maybe doctrine/doctrine-bundle
if you're forking the bundle), and it should pull your fork code instead of the original Doctrine code. Watch the "name"
value in composer.json
of the library you're forking.
Here's a more verbose tutorial on forking: http://mnapoli.fr/overriding-dependencies-with-composer/