2014年11月16日 星期日

[Note] heroku sqlite3 error

Heroku , 一個雲端運算平台。 GAE 是大家常聽見的。至於Ruby on Rails則是大多用於

Heroku平台。因是是基於Ruby開發,提供的ruby套件也是相當的豐富,因此在近幾年也是大

家發布Apps的一個熱門選擇。



PaaS,基於幫我們配置好os,然後方便我們部屬自有的應用程式。Heroku就是屬於這類型之

一,搭配與Open Source的Git 版本管理系統、以及部屬方便、自訂Domain Name。是屬於

非常好用的PaaS平台。如果平時就以Git 建立版本控管的Rails 應用程式。甚至只要git push

就可以完成部屬,看看!是否非常容易呢!?


至於Heroku 提供收費的機制,可以透過付費增加需求,而不用再度去修改程式。也算是對於

在開發,甚至商業用途上是很方便,省時省力的選擇。在對於免費開發使用上,已經足夠

了。


 Heroku使用git 來幫助上傳應用程式部屬。簡單來說,如果是一個空的專案,我們必須使用

git init


來先初始化此專案。接著就可以使用git 的指令來進行控管。

當然,一般的流程是

git add .


git commit -m 'new upload'


透過更新並且加入commit 產生版本代碼之後。

可以透過上傳至heroku 即可完成。

我們此時必須先加入heroku 初始化。首先我們可以利用toolkit 幫助我們進行操作。

安裝指令如下: (in Ubuntu 14.04 LTS)

wget -qO- https://toolbelt.heroku.com/install-ubuntu.sh | sh


接著可以先經過登入  (已經申請完帳號)


$heroku login 


此時就會需要登入資訊 帳戶密碼 以及設定SSH等。

登入成功之後,就可以透過cd至專案資料夾建立heroku。

$heroku create


建立完成之後。我們可以透過git push heroku master 來上傳至Heroku 平台。

git push heroku master 


上傳完成之後,可以看到以下訊息:

Launching... done, v3
       http://你的app名稱.herokuapp.com deployed to Heroku
 
這樣在瀏覽器上,輸入網址即可以看到已經佈署成功了。我們也可以透過後台來增加需求等。



至於在佈署過程之中,可能會發現sqlite3 error的錯誤。

官方有提供解決以及為何沒有使用sqlite來當作資料庫使用。

官網提供的是另一套資料庫管理系統 Postgres。
 
在原先rails 專案裡面,修改Gemfile 。
 
gem 'sqlite3' 移除。
 
增加 
 
group :development do
  gem 'sqlite3'
end
group :production do
  gem 'pg'
end
 
然後執行bundle install。 

當然後端資料庫的東西 包含圖片 影像等。我們就必須利用其他Storage服務來解決。
 
 
 
 
資料來源 :
 
1.Heroku: Ruby 社群的雲端平台 by ihower  

2.PaaS 入門指南

3.Heroku ─ Ruby 程式語言的最佳雲端環境

4.Ruby語言的雲端運算平台:Heroku from INSIDE

5.Heroku sqlite error solution

6.Rails Girls - App 上線至 Heroku

沒有留言:

張貼留言