Sinatra + Heroku + Datamapper 与 dm-sqlite-adapter 的部署问题

2024-01-01

由于某种原因,heroku 尝试要求 dm-sqlite-adapter,尽管它应该在这里使用 Postgres。请注意,这种情况发生在我打开任何 URL 时,而不是在 git 推送本身期间。

我构建了一个默认的 Facebook 应用程序。

宝石文件:

source :gemcutter

gem "foreman"

gem "sinatra"
gem "mogli"
gem "json"
gem "httparty"
gem "thin"
gem "data_mapper"
gem "heroku"

group :production do
    gem "pg"
    gem "dm-postgres-adapter"
end

group :development, :test do
    gem "sqlite3"
    gem "dm-sqlite-adapter"
end

数据映射器设置:

# Setting up the database
DataMapper.setup(:default, ENV['DATABASE_URL'] || "sqlite3://#{Dir.pwd}/data/mydatabase.db")

打开任意URL时的相关日志片段:

Starting process with command `bundle exec thin -R config.ru start -p 34984`
2012-01-18T15:11:55+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/dm-core-1.2.0/lib/dm-core/adapters.rb:163:in `require': no such file to load -- dm-sqlite-adapter (LoadError)
2012-01-18T15:11:55+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/dm-core-1.2.0/lib/dm-core/adapters.rb:163:in `load_adapter'

尝试过相关解决方案,但目前没有任何帮助。

BTW: bundle install says Using do_postgres and Using dm-postgres-adapter。我是否遗漏了有关 Datamapper 设置的信息?


好吧,Heroku 上有太多 Rails 应用程序,我认为共享数据库的存在是理所当然的。heroku config两者都没有表现出DATABASE_URL or SHARED_DATABASE_URL set.

Issuing heroku addons:add shared-database:5mb解决了问题。

奇怪的是,尽管 Gemfile 中有“pg”gem,但数据库并未自动添加。

引用自http://devcenter.heroku.com/articles/cedar http://devcenter.heroku.com/articles/cedar:

Heroku 共享 PostgreSQL 数据库 (shared-database:5mb) 将 在以下任何情况下都会自动添加到您的应用程序中:

  • 该应用程序是一个 Rails 应用程序
  • The pggem 被指定在Gemfile
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Sinatra + Heroku + Datamapper 与 dm-sqlite-adapter 的部署问题 的相关文章

随机推荐

  • 如何在 Laravel Auth::attempt 中使用条件参数?

    使用 Laravel 4 1 30 我得到了以下代码 该代码通过身份验证测试登录尝试 more codes here auth Auth attempt array email gt Input get email password gt
  • 为整个应用程序设置Python27 Google AppEngine默认编码

    我想将我的 python27 appengine 站点的默认编码设置为 utf 8 默认为 ascii 有一个类似的问题回答过http code google com p googleappengine issues detail id 5
  • 用于操作系统检测的 PHP 正则表达式

    我使用此代码来检测用户的操作系统
  • 无法创建 AWS-SNS GCM 帐户,显示无效凭证消息

    到目前为止 我一直在寻找有关这个特定问题的资源 但运气不佳 所以我想我会在这里尝试 我正在尝试使用 GCM 在 AWS SNS 控制台中创建 Amazon Web Service 简单通知服务应用程序 我已经毫无问题地创建了 iOS 版本的
  • 当启用 use strict 时,如何找到 JavaScript 中的调用者函数?

    是否可以在以下情况下看到函数的被调用者 调用者use strict已启用 use strict function jamie console info arguments callee caller name this will outpu
  • 为什么 event.getSource() 对于具有相关源视图的辅助功能事件返回 null?

    对于 android widget Button 上的事件 TYPE VIEW CLICKED事件 getSource https developer android com reference android view accessibi
  • 如何验证用户当前的密码?

    所以 也许我在文档中的某个地方错过了这一点 但我找不到类似的东西 我不希望我的用户必须输入当前密码才能创建新密码 据我了解 如果用户经过身份验证 他就可以更新密码而无需提供当前密码 即使这可能有点安全 我宁愿让他输入他的旧密码 以防止人们继
  • 定义计算相关矩阵的协方差矩阵的函数

    我在矩阵转换以及行和列的名称方面遇到一些问题 我的问题如下 作为输入矩阵我有一个 对称 相关矩阵像这个 The 相关向量由下三角矩阵的值给出 现在 我想计算这些相关性的方差 协方差 矩阵 它们近似正态分布方差 协方差 矩阵 The 差异可以
  • MonadBaseControl 的用途是什么?

    我正在深入研究 Yesod 的 monad 并且遇到了MonadBaseControl 我看了一眼 hackage 文档 然后就迷路了 有人可以告诉我它试图解决的问题吗 Michael Snoyman 实际上写了一个关于 monad con
  • 还要注意项目文件

    I use sbt以下列方式 我跑 test compile在 sbt 中工作 然后在 IDE 中工作 偶尔观察项目是否仍然可以编译 因为 IDE 的演示编译器往往有错误 当我git pull一些代码 可能会发生变化project 文件 所
  • 如何使用 RXJS 每 2 分钟进行一次 http 调用?

    我有一项服务每 2 分钟就会呼叫我的休息服务 在我的服务中我有以下功能 getNotifications token string const body xxxxxxxxx token return this http post rest
  • Ruby 数组创建,Array.new 与 []

    这两种说法有什么区别 我在我的 Rails 应用程序中使用它们 对我来说 它们看起来像做同样的事情 array a Array new array b 这两个语句在功能上是相同的 Array new但是可以接受参数和块 Array new
  • 如何利用 Google Firebase 数据库中的过滤器和子元素

    Working on an Android app that is using the new Firebase Database framework It has data objects that are modeled like th
  • 将 WebSocket 与 ASP.NET Web API 结合使用

    在 ASP NET Web API 应用程序中使用原始 Websocket 的首选方法是什么 我们想用binaryASP NET Web API 应用程序的几个接口上的 WebSocket 我很难确定应该如何完成此操作 因为 NET 的在线
  • CouchDB 视图出错

    我一直在使用 CouchDB 和 RelaxDB rub y 库 但创建一个视图然后尝试访问它会导致一个令人讨厌的非特定错误 我退后一步 因为我认为 RelaxDB 可能与我正在使用的 CouchDB 版本 0 8 1 不兼容 但即使我创建
  • 准备好的语句的最佳实践;何时做、何时不做

    我最近开始在 Web 应用程序中再次使用准备好的语句 并且我知道不鼓励对所有事务使用准备好的语句 我不知道什么时候最好使用准备好的语句 我读过何时使用和不使用它们 但没有一个示例真正说明了使用它们的最佳实践 我试图弄清楚哪些数据库调用我应该
  • github for windows 每天崩溃几次

    我最近开始工作Github通过他们的本机 Windows 应用程序 它非常好 但是它经常崩溃 可怕的是我在崩溃后丢失了所有最近的更改 所有本地文件将回滚到成功提交或同步的最后版本 我使用的是 64 位 Windows 8 机器 有任何想法吗
  • python 中的 ctypes 与 memset 崩溃

    我正在尝试从内存中删除密码字符串就像这里建议的那样 https stackoverflow com questions 982682 mark data as sensitive in python 983525 983525 我写了这个小
  • 是否存在 TcpClient.Close 或 Socket.Close(0) 可能阻止我的代码的情况?

    由于没有指定 Close 方法是线程安全的 我应该从锁中调用它 我如何确定它不会阻塞我的线程 我应该禁用 LingerState 还是可以启用它 顺便说一句 我需要同时调用 TcpClient Close 和 TcpClient Clien
  • Sinatra + Heroku + Datamapper 与 dm-sqlite-adapter 的部署问题

    由于某种原因 heroku 尝试要求 dm sqlite adapter 尽管它应该在这里使用 Postgres 请注意 这种情况发生在我打开任何 URL 时 而不是在 git 推送本身期间 我构建了一个默认的 Facebook 应用程序