на моих серверах VPS запрос Doctrine, отвечающий за подсчет выполненных миграций, не возвращает строк. Проблема странная, иногда с помощью PHPStorm я тоже не получаю результатов, но это происходит только тогда, когда я пропускаю общественности. схемы. Я не могу установить имя в таблице конфигурации Doctrine с помощью public. префикс из-за дальнейших проблем DBAL. Локали Я получил ту же версию PgSQL 9.6 и PHP 5.6, единственное отличие @VPS — это PHP 7.1.
#------------------------------------------------------------------------------
# CLIENT CONNECTION DEFAULTS
#------------------------------------------------------------------------------
# - Statement Behavior -
#search_path = '"$user", public' # schema names
#default_tablespace = '' # a tablespace name, '' uses the default
#temp_tablespaces = '' # a list of tablespace names, '' uses
Изменение search_path помогает частично, иногда это приводит к появлению строк в качестве результата запроса, однако миграция Doctrine все еще имеет проблемы с этим.
Запросы:
SELECT * FROM doctrine_migration_versions; -- sometimes no results, even if ros actually exists
SELECT * FROM public.doctrine_migration_versions; -- works always
Заранее спасибо за любые ответы.
Я нашел проблему. Проблема заключалась в том, что пользователь базы данных был таким же, как существующая схема. Вот почему Postgres по умолчанию искал схему с именем пользователя и нашел ее. Изменение postgres conf, чтобы не искать пользователя, но публично. только схема, решенная «проблема»
#search_path = '"$user", public' # schema names
в
search_path = 'public' # schema names
Других решений пока нет …