Ruby on rails 4 rails g使用postgres前缀迁移具有模式名称的命令
我已经有一段时间没有和postgres合作了,我在一个我刚刚开始工作的现有项目上遇到了这个问题 当我运行Ruby on rails 4 rails g使用postgres前缀迁移具有模式名称的命令,ruby-on-rails-4,postgresql-9.5,Ruby On Rails 4,Postgresql 9.5,我已经有一段时间没有和postgres合作了,我在一个我刚刚开始工作的现有项目上遇到了这个问题 当我运行railsgmigrate时,命令成功完成;但是,它会在db/structure.sql上生成大量差异。不同之处在于,修改后的文件在每个命令前面显式地加上postgres公共模式前缀 例如,我得到了如下许多差异: -创建表客户( +创建表public.customer( 如何抑制此行为?这似乎是由至少Postgresql 9.4.17中的a安全修补程序(其他版本也可能受到影响)引起的,该修
railsgmigrate
时,命令成功完成;但是,它会在db/structure.sql
上生成大量差异。不同之处在于,修改后的文件在每个命令前面显式地加上postgres公共模式前缀
例如,我得到了如下许多差异:
-创建表客户(
+创建表public.customer(
如何抑制此行为?这似乎是由至少Postgresql 9.4.17中的a安全修补程序(其他版本也可能受到影响)引起的,该修补程序在使用
$pg\u dump
时更改了搜索路径的行为
您可以尝试降级到以前的修补程序版本(例如9.4.16
),它保留了以前的行为,或者冒险使用此新版本更新您的模式。谢谢您的回答,尼克!问题可能与您提到的修补程序有关,但我认为这不是全部内容。structure.sql
diff包含一行内容,内容为从数据库版本9.5.10中转储的.看来最后一个犯下错误的人是9.5.10版,而我是9.5.12版。这也影响到9.6.8版。多亏了尼克的澄清。