2

我正在尝试在 Heroku 上运行我的应用程序,但无法通过“rake db:migrate”命令。我不断收到此错误:rake aborted!发生错误,此迁移和所有后续迁移均已取消:

PG::Error: ERROR: must be owner of extension plpgsql

任何的想法?

ps 这是完整的错误日志: http: //pastebin.com/iYeiMD2y

4

1 回答 1

5

它正在尝试从您的架构中填充数据库。问题是它试图向您的数据库用户不拥有的 postgresql 扩展添加评论。这 3 行会导致问题:

COMMENT ON EXTENSION plpgsql IS 'PL/pgSQL procedural language';
COMMENT ON EXTENSION pg_trgm IS 'text similarity measurement and index searching based on trigrams';
COMMENT ON EXTENSION unaccent IS 'text search dictionary that removes accents';

为了评论任何数据库对象,您需要成为该对象的所有者。有关更多信息,请参阅PostgreSQL 文档

Heroku 也不允许您创建或修改扩展。它们提供了可用扩展列表和可供使用的文本搜索字典,并且列出了架构转储中的所有扩展。

删除或注释掉架构转储中创建扩展和在扩展上创建注释的行代码,这应该可以帮助您克服该错误。

于 2013-01-30T15:57:29.043 回答