heroku 提供的免费数据库是5M postgres,有点小。在Heroku的addons里面发现了两个mogodb的数据库 MongoLab和MongoHQ
MongoLab的免费版240MB,声明只用于开发和测试。先不管那么多,直接添加MongoLab插件,结果发现账户要验证才可添加,验证账户必须要提供信用卡信息。暂时不想提供信用卡,找到一个办法,就是自己到MongoLab网站上自己申请一个账户再创建数据库。
在MongoLab上设置好数据库以后。
先在本地调试一下,使用mongoid 3.x,修改Gemfile:
gem "mongoid", "~> 3.0.3"
gem "mongoid_rails_migrations", "~> 0.0.14"
gem 'mongoid_auto_increment_id', "0.5.0"
gem 'bson_ext'
然后执行:bundle install --without production
接着修改config/mongoid.xml的配置如下:
defaults: &defaults
options:
identity_map_enabled: true
development:
<<: *defaults
sessions:
default:
uri: mongodb://user:password@ds037067.mongolab.com:37067/my_db
options:
skip_version_check: true
safe: true
本地测试ok,然后我们先设定一下heroku的环境变量,命令如下:
heroku config:set Q_MONGOLAB_URI=mongodb://user:password@ds037067.mongolab.com/my_db
然后config/mongoid.xml里添加:
production:
<<: *defaults
sessions:
default:
uri: <%= ENV['Q_MONGOLAB_URI'] %>
options:
skip_version_check: true
safe: true
这样做的目的是不再配置文件中暴露数据库的信息,而把数据库信息放到环境变量中。相对安全一些。
然后push到heroku, 结果执行出错,查看 heroku logs报错也很简单:NoMethodError: undefined method `[]' for nil:NilClass。
到mongoid.org上找到这个http://mongoid.org/en/mongoid/docs/tips.html#ruby。发现heroku默认的ruby是1.9.1 .需要在Gemfile指定为ruby 1.9.3.
修改Gemfile
ruby '1.9.3'
不过bundle版本得是1.2.0rc以上,所以先执行 gem install bundler --pre,这样本地bundle instal才能执行。
最后push到heroku,成功运行了。
另一个MongoHQ我还没有试过,应该也可以这样使用,因为mongohq.com也是可以免费注册并创建免费数据库的。
分享到:
相关推荐
ruby-getting-started, 在Heroku上,使用 ruby 入门 ruby-getting-started一个易于部署的Rails 应用程序,可以轻松部署到 Heroku 。这个应用程序支持在Heroku上开始使用 ruby 文章- check查看。在本地运行确保已经...
**Python-DjangoHero在云上使用Heroku搭建一个Django项目最快的方式** 在现代Web开发中,Python的Django框架以其高效、灵活和强大的功能深受开发者喜爱。而Heroku作为一个流行的云端平台,提供了便捷的部署服务,...
**标题:** 在Heroku上使用后端应用程序构建和服务前端应用程序 **内容摘要:** 本教程将详细介绍如何在Heroku平台上部署一个集成了后端服务的单页应用(SPA)。我们将探讨Heroku的基础知识,SPA的工作原理,以及如何...
帮助在Heroku上使用多个帐户。 安装 $ heroku plugins:install heroku-accounts 用法 要添加帐户: $ heroku accounts:add personal Enter your Heroku credentials. Email: david@heroku.com Password: ****** ...
从"lambdoku-master"这个文件名来看,这可能是一个项目,旨在模仿Heroku的体验,可能包含了一套工具或模板,帮助开发者更容易地在Lambda上部署和管理JavaScript应用。该项目可能涵盖了上述的一些方面,例如简化部署...
node-js-入门 使用准系统 Node.js 应用程序。 此应用程序支持文章 - 请查看。 在本地运行 确保你已经安装了和 。 $ git clone git@github....有关在 Heroku 上使用 Node.js 的更多信息,请参阅这些开发中心文章:
创建此存储库的目的是演示使用JS的Telegram机器人,并将其托管在Heroku平台上。 机器人电报 在命令中加载txt列表 托管在Heroku 项目图片 必要程序 使用以下npm程序包运行项目: $ npm install node-telegram-bot-...
Heroku 上的 Docker 注册表 这是在 Heroku 上运行新的基于 Go 的的示例项目。部署到 Heroku 要使用此存储库,您需要先安装, $ heroku plugins:install heroku-docker 并部署, $ heroku create$ heroku docker:...
heroku-deflater, 在heroku上,但不压缩图像,启用gzip压缩 deflater简单的rack 中间件可以在Heroku上压缩资产和应用程序响应,而不会浪费pointlessly压缩图像和其他二进制响应的CPU周期。它还包括来自 ...
Heroku最小Chrome启动Chrome并在Heroku上运行! 这是,该仓库使用xvfb在cedar-14堆栈上运行。 我尽力使宝石的数量尽可能少,尽管我确实包括了Thor,以供将来使用,并带有不同的配置标记等。 这是使此工作正常的基本...
使用uwsgi + Nginx在Heroku上部署WSGI应用程序。 只需点击按钮 或铁杆模式 $ heroku create $ heroku buildpacks:set heroku/python $ heroku buildpacks:add heroku-community/nginx $ git push heroku main $ ...
在Heroku上运行Apache Airflow 可用于创建,计划和监视工作流程。 它通常用于定义ETL流程。 可在找到ETL工作流程的绝佳示例Heroku Button部署通过使用以下Heroku按钮,可以将Apache Airflow轻松快捷地部署到您自己的...
您可以在查看演示如何在Heroku上部署: 确保您已经在上拥有一个帐户,并且已经本地计算机。 在终端中运行heroku login命令,输入您的电子邮件和密码。 如果您获得“身份验证成功”。 然后您的机器就安装好了。 或...
在这个场景中,“使用Heroku提高Steam的游戏时间”指的是利用Heroku来运行一个自动化脚本或机器人,以帮助你在Steam游戏平台上获得更多的游戏时间,即使你不在电脑前。这种做法常见于那些需要长时间在线的游戏,例如...
这个过程展示了如何使用Express和Mongoose构建一个简单的web应用,并在Heroku上进行部署。在实际开发中,你可能需要添加更多的功能,如用户认证、错误处理等。同时,对于生产环境,推荐使用Heroku的付费计划以获得更...
7. **启动应用**:在Heroku上启动应用,使用`heroku ps:scale web=1`命令。 8. **访问站点**:最后,你可以通过运行`heroku open`或手动输入Heroku应用的URL来访问镜像站点。 **hirror-master**: `hirror-master...
在 Heroku 上创建和部署 Ruby on Rails 应用程序。 更新 02/12/2015 本手册是基于以下环境编写的: Ubuntu 14.04 Ruby 2.1.2 导轨 4.1.4 PostgreSQL 9.1 git 1.9.1 首先注册Heroku ( ) 并登录平台,然后下载...
10. **性能优化**:考虑Heroku的免费 dyno 在无活动时会进入休眠状态,可能影响应用响应时间。可以升级到付费计划,或者使用Heroku的Add-on如ClearDB来保持数据库连接。 以上就是关于在Heroku上部署Strapi应用程序...
在Heroku上创建应用程序时,请按以下步骤提供: heroku create --buildpack https://github.com/virtualstaticvoid/heroku-buildpack-r.git如果buildpack在项目目录中具有以下文件中的一个(或多个),它将检测到您...