在使用pg_restore
从转储文件重建我的PostgreSQL数据库时,我的模式文件db/schema.rb
现在用public
前缀gen_random_uuid()
函数。create_table "cars", id: :uuid, default: -> { "public.gen_random_uuid()" }
个
如何防止模式文件在方法调用前加上public
?
在使用pg_restore
从转储文件重建我的PostgreSQL数据库时,我的模式文件db/schema.rb
现在用public
前缀gen_random_uuid()
函数。create_table "cars", id: :uuid, default: -> { "public.gen_random_uuid()" }
个
如何防止模式文件在方法调用前加上public
?
2条答案
按热度按时间rur96b6h1#
我认为这个问题不是rails特有的,而是
pg_dump
特有的。如果你读了转储文件,它可能会创建带有public.
前缀的函数?这里有一个类似的问题,可能会帮助你:How force pg_dump to (not) include scheme name for each objects in DDL
ff29svar2#
尝试在您的环境的配置文件中添加
config.active_record.dump_schema_after_migration = false
,例如#config/environments/production.rb
(在您要转储的项目中),然后在本地环境中再次转储并恢复数据库。