Open GwendolenLynch opened 1 year ago
@jsor we have been using this fork with no issues for a while now, any progress/help-needed here?
This latest update should take care of the remaining deprecations to support DBAL v4 (and silence PHPUnit).
Tests are passing locally.
:+1: This branch works for me, I was able to upgrade an existing symfony project to DBAL 4, ORM 3. Thanks!
@GwendolenLynch in the documentation you write:
Additionally, to also use the library with the Doctrine ORM, register the ORMSchemaEventListener event subscriber.
use Jsor\Doctrine\PostGIS\Event\ORMSchemaEventListener;
$entityManager->getEventManager()->addEventSubscriber(new ORMSchemaEventSubscriber());
In the example you register ORMSchemaEventSubscriber, if someone just copies it it will fail.
Also, I am getting this when I am adding ORM subscriber:
PHP Fatal error: Uncaught Roave\PsrContainerDoctrine\Exception\DomainException: Invalid event subscriber "Jsor\Doctrine\PostGIS\Event\ORMSchemaEventListener" given, must be a dependency name, class name or an instance implementing Doctrine\Common\EventSubscriber in /../vendor/roave/psr-container-doctrine/src/Exception/DomainException.php:36
Thanks for your feedback, @tasselchof. I'm going to try to add some more tests to cover this.
What versions of doctrine/orm
, doctrine/dbal
, and doctrine/common
are you using?
Thanks for your feedback, @tasselchof. I'm going to try to add some more tests to cover this.
What versions of
doctrine/orm
,doctrine/dbal
, anddoctrine/common
are you using?
I've made a pull request to your branch with those fixes: https://github.com/GwendolenLynch/doctrine-postgis/pull/1. You can merge it to fix those and if I will find anything else - I will do another pull request. It's just one test if you wish to add it.
[app]$ composer show doctrine/*
doctrine/annotations 2.0.1 Docblock Annotations Parser
doctrine/collections 2.2.2 PHP Doctrine Collections library that adds additional functionality on top of PHP arrays.
doctrine/common 3.4.4 PHP Doctrine Common project is a library that provides additional functionality that other Doctrine projects depend on such as better reflection sup...
doctrine/data-fixtures 1.7.0 Data Fixtures for all Doctrine Object Managers
doctrine/dbal 4.0.1 Powerful PHP database abstraction layer (DBAL) with many features for database schema introspection and management.
doctrine/deprecations 1.1.3 A small layer on top of trigger_error(E_USER_DEPRECATED) or PSR-3 logging with options to disable all deprecations or selectively for packages.
doctrine/event-manager 2.0.0 The Doctrine Event Manager is a simple PHP event system that was built to be used with the various Doctrine projects.
doctrine/inflector 2.0.10 PHP Doctrine Inflector is a small library that can perform string manipulations with regard to upper/lowercase and singular/plural forms of words.
doctrine/instantiator 2.0.0 A small, lightweight utility to instantiate objects in PHP without invoking their constructors
doctrine/lexer 3.0.1 PHP Doctrine Lexer parser library that can be used in Top-Down, Recursive Descent Parsers.
doctrine/migrations 3.7.4 PHP Doctrine Migrations project offer additional functionality on top of the database abstraction layer (DBAL) for versioning your database schema a...
doctrine/orm 3.1.2 Object-Relational-Mapper for PHP
doctrine/persistence 3.3.2 The Doctrine Persistence project is a set of shared interfaces and functionality that the different Doctrine object mappers share.
Hey guys! Are there any plans on merging this or should we rollback to DBAL v3?
Hello everyone, any news on this MR ? Are the changelog is the only thing missing for merging it ?
Hello everyone, is there any news??? do you plan to merge?? @jsor @thePanz @GwendolenLynch @wesnick @tasselchof do you need any help?
From DBAL 3.2 the events systems is (mostly?) deprecated in favour of middleware, and custom schema manager + factory combination.
The main purpose of this PR is to migrate as much as possible to this:
Jsor\Doctrine\PostGIS\Driver\Driver
that extendsAbstractPostgreSQLDriver
Jsor\Doctrine\PostGIS\Driver\Middleware
that wraps the lower levelDriver
inside the PostGISDriver
Jsor\Doctrine\PostGIS\Driver\PostGISPlatform
wrapsDoctrine\DBAL\Platforms\PostgreSQLPlatform
and is instantiated by the PostGISDriver
Jsor\Doctrine\PostGIS\Schema\SchemaManager
now extendsDoctrine\DBAL\Schema\PostgreSQLSchemaManager
and handles schema managementJsor\Doctrine\PostGIS\Schema\SchemaManagerFactory
is an implementation ofDoctrine\DBAL\Schema\SchemaManagerFactory
SchemaManager
instance insideConnection
Jsor\Doctrine\PostGIS\Event\DBALSchemaEventSubscriber
moved toPostGISPlatform
Additionally:
@covers
on most tests to get a better view of coveragepsalm.xml
and it passesBonus: It is now possible to extend
Jsor\Doctrine\PostGIS\Types\GeographyType
orJsor\Doctrine\PostGIS\Types\GeometryType
and not have the schema tool throw a tantrum. SeePostGISPlatformTest
Feedback welcome, and I'm happy to add/adjust/drop relevant things.
Edit: Fixes #63