【问题标题】:My app needs to read information from sqlite databases but heroku does not allow sqlite at all我的应用程序需要从 sqlite 数据库中读取信息,但 heroku 根本不允许使用 sqlite
【发布时间】:2014-11-09 17:50:31
【问题描述】:

My Ruby on Rails webapp 允许用户上传一个 sqlite 数据库,以便以某种格式从该数据库中导出信息。 在本地一切正常,但我无法将它部署到 heroku,因为我正在使用 sqlite gem。即使我在 database.yml 中配置的应用程序本身使用 postgres,Heroku 也不允许这样做。

在将所有内容移动到另一个 PaaS 之前,我想知道是否有其他方法可以在不使用 sqlite gem 的情况下访问 sqlite DB 中的信息?

【问题讨论】:

    标签: ruby-on-rails sqlite heroku


    【解决方案1】:

    恐怕你不能在 Heroku 上使用 SQLite(我不鼓励你在任何生产环境中使用它)。

    当部署到 Heroku 时,database.yml 文件被替换。从文档中阅读:

    部署应用程序时,如果存在配置目录并且存在 RAILS_ENV 或 RACK_ENV 环境变量,则构建阶段会配置底层 Rack 或 Rails 应用程序以使用预配置数据库。在这些条件下,将创建一个 database.yml 文件。如果一个 database.yml 文件已经存在,它将被替换。 database.yml 文件创建为 Ruby 代码,通过解析 DATABASE_URL 环境变量动态创建其输出。

    来源:https://devcenter.heroku.com/articles/ruby-support#build-behavior

    如果您想在 Heroku 中使用 PostreSQL,只需将所需的 gem 放入您的 Gemfile:

    gem 'pg', group: :production
    

    【讨论】:

    • 我的应用程序的用例是用户上传一个sqlite数据库,我的应用程序从该数据库中读取信息并以某种格式导出。我认为我不能为此使用 postgres。 postgres 可以读取 sqlite db 文件吗?
    猜你喜欢
    • 1970-01-01
    • 2015-11-26
    • 2013-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多