[英]Doctrine2/DBAL + Postgresql - public. schema missing in Doctrine queries | Empty query's result
在我的VPS服务器上查询Docctrine的查询,该查询负责计算已执行的迁移,不返回任何行。 问题很奇怪,使用PHPStorm有时也没有结果,但是只有当我跳过public时才会发生。 模式。 我无法使用public设置Doctrine的配置表名称。 由于进一步的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默认情况下正在寻找名为schema的用户并找到它的原因。 将postgres conf更改为不寻找用户而是公共。 仅方案,已解决“问题”
#search_path = '"$user", public' # schema names
至
search_path = 'public' # schema names
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.