在我的VPS服务器上查询负责计算已执行迁移的Doctrine查询不返回任何行。问题很奇怪,有时使用PHPStorm我也没有结果,但只有当我跳过公开时才会发生。架构。我无法使用public在Doctrine的配置表名称中设置。前缀是由于进一步的DBAL问题。 Localy我得到了相同版本的PgSQL 9.6和PHP 5.6,onle差异@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
提前感谢任何回答。
答案 0 :(得分:0)
我发现了问题。问题是数据库用户与现有架构相同。这就是Postgres默认寻找用户命名架构并找到它的原因。改变postgres conf不要寻找用户而是公开。仅架构,解决问题'
#search_path = '"$user", public' # schema names
到
search_path = 'public' # schema names