运行$ rails db:migrate
时,无论是否添加了任何迁移,structure.sql都会进行更改,删除SET search_path = public, pg_catalog;
并将其替换为SELECT pg_catalog.set_config('search_path', '', false);
,然后将public.
附加到每个{ {1}}语句。
示例:
CREATE
成为:
CREATE FUNCTION round_minutes(timestamp without time zone, integer) RETURNS timestamp without time zone
使用:
该问题似乎会影响我们使用9.6.5以上版本的Postgres版本的人
是否可以将Postgres配置为不执行此操作?
答案 0 :(得分:2)
有一个vulnerability in Postgresql已于2018年3月修复。
如果您使用的是Postgresql版本10.3、9.6.8、9.5.12、9.4.17、9.3.22或更高版本,则它将在表引用中指定pulbic模式并设置pg_catalog search_path。
也许您团队中的某人正在使用旧版本的Postgresql,导致structure.sql恢复。