2017-10-18 102 views
0

在我的VPS服务器上queires Doctrine的负责计数已执行的迁移的查询不返回任何行。问题是奇怪的,使用PHPStorm有时我也没有结果,但它只发生在我跳过public。架构。公众不能在Doctrine的配置表名称中设置。前缀由于进一步的DBAL问题。 Localy我得到了相同版本的PgSQL 9.6和PHP 5.6,onle的区别@VPS是PHP 7.1。Doctrine2/DBAL + Postgresql - public。在Doctrine查询中缺少模式|空查询的结果

#------------------------------------------------------------------------------ 
# 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 

预先感谢任何answears。

回答

0

我发现了这个问题。问题在于数据库用户与现有模式相同。这就是为什么Postgres默认情况下正在寻找用户命名的模式,并发现它。改变postgres conf不要寻找用户,但公开。仅架构,解决了 '问题'

#search_path = '"$user", public' # schema names 

search_path = 'public' # schema names