问题
Haven't worked with postgres in a while and I'm running into this issue on an existing project I've just started working with.
When I run rails g migrate, the command completes successfully; however, it generates a boatload of diffs on db/structure.sql. The differences are that the revised file explicitly prefixes every command with the postgres public schema.
For example, I get many diffs like this:
-CREATE TABLE customer (
+CREATE TABLE public.customer (
How can I suppress this behavior?
回答1:
This looks to be caused by the a security patch in at least Postgresql 9.4.17 release from the 1st March (other versions may also be affected), which changed the behaviour of search_path when using $ pg_dump.
You could try either downgrading to the previous patch version (e.g. 9.4.16), which preserves the previous behaviour, or take the plunge and update your schema using this new version.
来源:https://stackoverflow.com/questions/49186107/rails-g-migrate-with-postgres-prefixes-commands-with-schema-name