ruby-on-rails-3 - Heroku rake 数据库 :migrate aborted with 'PG::Error:'

标签 ruby-on-rails-3 postgresql heroku rails-postgresql

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

PG::错误:错误:必须是扩展 plpgsql 的所有者

有什么想法吗?

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

最佳答案

它正在尝试从您的架构填充数据库。问题是它试图向您的数据库用户不拥有的 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 documentation了解更多信息。

Heroku 也不允许您创建或修改扩展。他们提供了list of available extensions and text-search dictionaries可供使用,并且列出了架构转储中的所有扩展。

删除或注释掉模式转储中正在创建扩展并在扩展上创建注释的行代码,这样您就可以克服该错误。

关于ruby-on-rails-3 - Heroku rake 数据库 :migrate aborted with 'PG::Error:' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14546037/

相关文章:

ruby-on-rails-3 - Twitter Bootstrap Rails - 如何将我的样式与 bootstrap_and_overrides.less 分开

sql - 从仓库事实表中获取成功/失败率的最佳查询

mysql - View 出现 N+1 错误

ruby-on-rails - Rails - 如何使用 github 上的插件(如何安装、使用等)

PostgreSQL 在从字符串到日期的转换上创建索引

database - Heroku 和数据库图形用户界面

python - 使用Python将大文件发布到heroku

Docker:消息仅显示不受支持

ruby-on-rails - Ruby 时间运行 block 休眠 x 秒

sql - Postgres 值 '' 单引号与 NULL