![](/img/trans.png)
[英]How do I set up a Sinatra app under Apache with Passenger?
[英]How do I set up a database for a Sinatra app in Heroku?
我制作了一個運行SQLite3數據庫的Sinatra應用程序。 一切都在我的本地計算機上順利運行。
將其部署到Heroku時,我必須更改一些東西,即Gemfile和Procfile,同時還要將數據庫代碼更改為:
#Within a class
#Before
@DB = Sequel.connect('sqlite://database.db')
#After
@DB = Sequel.connect(ENV['DATABASE_URL'] || 'postgres://localhost/db')
我將數據庫更改為Postgres,而不是SQLite3,因為Heroku不支持SQLite3。 (這可能是我的問題所在。)
這是我的Gemfile:
source "https://rubygems.org"
ruby "1.9.3"
gem "sinatra"
gem "sequel"
gem "pg"
gem "postgres"
gem "json"
而我的Procfile:
web: bundle exec ruby main.rb -p $PORT
我創建了一個git存儲庫,並運行heroku create
。 我添加了所有文件,使用git提交並推送了它們,我得到了Heroku URL,一切都很好。 我運行heroku config
來檢查我的URL並得到以下結果:
DATABASE_URL:postgres://uhyodailuzazve:hUSIuD_4MOYWmoiSGNZCPrQNyg@ec2-54-204-40- 140.compute-1.amazonaws.com:5432/d1qkn1ivl7p013HEROKU_POSTGRESQL_BLACK_URL:postgres://uhyodailuzazve:hUSIuD_4MOYWmoiSGNZCPrQNyg@ec2-54-204-40-140.compute-1.amazonaws.com:5432/d1qkn1ivl7p013
(他們是一樣的)。 我的籌碼也是“雪松”
=== enigmatic-taiga-5020 Available Stacks
bamboo-mri-1.9.2
bamboo-ree-1.8.7
* cedar
如何從Sequel到Postgres使用Sinatra配置數據庫? 我看過教程,到現在為止。 有人做過嗎?
@DB = Sequel.connect(ENV['DATABASE_URL'])
應該可以正常工作,盡管通常您會將數據庫分配給常量,而不是實例變量。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.