У меня есть команда:
php bin/console doctrine:schema:validate -e prod
Когда я запускаю его, я получаю ошибку
"Call to a member function listSpatialIndexes() on null".
Пожалуйста, помогите мне, объясните, почему это происходит и как это исправить.
Кроме того, команда "php bin/console doctrine:schema:validate -e dev"
заканчивается ошибкой
"[ERROR] The database schema is not in sync with the current mapping file."
Извините, а где мне его зарегистрировать? Регистрация где-то в конфигурационных файлах? Конфигурация дана для ZF2, но я использую Symfony4.
Проблема заключалась в том, что переменной server_version в pgsql в доктрине.yaml не существовало. Для решения проблемы добавьте
pgsql:
...
server_version: <insert your server version here, in my case 11.3>
Вы можете увидеть версию сервера, добавив echo($this->getServerVersion()) и затем exit(1) в строке 452 в файле поставщика vendor\doctrine\dbal\lib\Doctrine\DBAL\Connection.php.
Проверьте аналогичную (такую же) проблему, о которой сообщается на github. Проблема заключалась в слишком поздней регистрации подписчика на событие. Возможно, это может быть полезно и для вас: github.com/jsor/doctrine-postgis/issues/9