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查看。在本地运行确保已经...
帮助在Heroku上使用多个帐户。 安装 $ heroku plugins:install heroku-accounts 用法 要添加帐户: $ heroku accounts:add personal Enter your Heroku credentials. Email: david@heroku.com Password: ****** ...
DjangoHero在云上 (使用Heroku)搭建一个Django项目最快的方式
node-js-入门 使用准系统 Node.js 应用程序。 此应用程序支持文章 - 请查看。 在本地运行 确保你已经安装了和 。 $ git clone git@github....有关在 Heroku 上使用 Node.js 的更多信息,请参阅这些开发中心文章:
创建此存储库的目的是演示使用JS的Telegram机器人,并将其托管在Heroku平台上。 机器人电报 在命令中加载txt列表 托管在Heroku 项目图片 必要程序 使用以下npm程序包运行项目: $ npm install node-telegram-bot-...
用于在Heroku上构建和服务SPA的模板 此存储库作为示例和模板,概述了如何在Heroku上与后端应用程序一起构建和服务前端应用程序。
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,以供将来使用,并带有不同的配置标记等。 这是使此工作正常的基本...
NodeTunes 使用本地Mongo + MongoLab,EJS和ExpressJS在Heroku上部署的音乐应用程序。
使用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 上创建和部署 Ruby on Rails 应用程序。 更新 02/12/2015 本手册是基于以下环境编写的: Ubuntu 14.04 Ruby 2.1.2 导轨 4.1.4 PostgreSQL 9.1 git 1.9.1 首先注册Heroku ( ) 并登录平台,然后下载...
在Heroku上创建应用程序时,请按以下步骤提供: heroku create --buildpack https://github.com/virtualstaticvoid/heroku-buildpack-r.git如果buildpack在项目目录中具有以下文件中的一个(或多个),它将检测到您...
基于Python的一个可以部署在heroku上的搜图机器人.zip 目前支持的网站: saucenao WhatAnime ascii2d iqdb
当使用AWS Lambda时实现类似Heroku的体验
安装在heroku上运行puppeteer所需的依赖项。 确保在对puppeteer.launch的调用中包含{ args: ['--no-sandbox'] } 。 Puppeteer默认为headless: true在puppeteer.launch为headless: true ,并且不应更改。 Heroku ...