rails g使用带有模式名称的postgres前缀命令进行迁移

Kev*_*vin 4 ruby-on-rails-4 postgresql-9.5

有一段时间没有使用postgres,我在刚开始使用的现有项目中遇到了这个问题.

当我运行时rails g migrate,命令成功完成; 然而,它会产生一大堆差异db/structure.sql.不同之处在于修订后的文件使用postgres公共模式显式地为每个命令添加前缀.

例如,我得到许多像这样的差异: -CREATE TABLE customer ( +CREATE TABLE public.customer (

我怎么能抑制这种行为?

小智 5

这看起来是由至少Postgresql 9.4.17 发布的安全补丁引起的,从3月1日开始(其他版本也可能受到影响),这改变了search_path使用时的行为$ pg_dump.

您可以尝试降级到先前的修补程序版本(例如9.4.16),这样可以保留以前的行为,或者尝试使用此新版本进行插入和更新架构.