如何在 Heroku 上使用 postgres 扩展?以及如何处理他们的迁移?

And*_*vey 6 ruby-on-rails heroku pg-search

我有一个包含 pg_search 和 queue_classic gems 的 Rails 应用程序。这两个都使用 PostgreSQL 扩展,例如 unaccent、pg_trgm 和 ps-something-something(抱歉,不是我的开发机器,不记得了)。

我正在部署到 Heroku,并且无法运行执行这些扩展的迁移

例如,

def up
  execute "create extension unaccent"
  execute "create extension pg_trgm"
end
Run Code Online (Sandbox Code Playgroud)

我的印象是 Heroku 从这里支持这些https://devcenter.heroku.com/articles/full-text-search以及 Heroku 使用 queue_classic https://github.com/ryandotsmith/queue_classic的事实。

我一直找不到任何信息来解释如何在 Heroku 上使用这些 postgres 扩展。或者即使它们可用于共享数据库或仅专用。

所以我的问题:

  1. 如何在 Heroku 上为我的应用程序提供这些扩展?
  2. 我如何处理迁移以便这些扩展可用于开发和测试环境,但如果 Heroku 限制这种类型的执行,则不要在暂存、生产或环境中中断迁移。

真的很感激任何想法,尤其是那些附有相关信息/说明指示的想法。

谢谢

Nei*_*ton 4

如果您使用旧的标准共享数据库计划,那么这些计划可能不起作用,因此您需要考虑升级到新的共享计划生产计划

  • @Noach (1) 完整列表[在这里](https://devcenter.heroku.com/articles/heroku-postgres-extensions-postgis-full-text-search); (2)你不能(据我所知)。 (2认同)