postgresql 为什么我的Rails `db/schema.rb`在函数前加上了`public`前缀?

utugiqy6  于 5个月前  发布在  PostgreSQL
关注(0)|答案(2)|浏览(89)

在使用pg_restore从转储文件重建我的PostgreSQL数据库时,我的模式文件db/schema.rb现在用public前缀gen_random_uuid()函数。
create_table "cars", id: :uuid, default: -> { "public.gen_random_uuid()" }
如何防止模式文件在方法调用前加上public

rur96b6h

rur96b6h1#

我认为这个问题不是rails特有的,而是pg_dump特有的。如果你读了转储文件,它可能会创建带有public.前缀的函数?
这里有一个类似的问题,可能会帮助你:How force pg_dump to (not) include scheme name for each objects in DDL

ff29svar

ff29svar2#

尝试在您的环境的配置文件中添加config.active_record.dump_schema_after_migration = false,例如#config/environments/production.rb(在您要转储的项目中),然后在本地环境中再次转储并恢复数据库。

相关问题