10/03/2006

why SQLite and how SQLite

為什麼我們需要 SQLite ?
因為不是每個人都需要 MySQL 的
也不是每個人都會設定 MySQL 的(權限跟安全性設定,cluster)
當你的站只有一個小站(非無名小站 =_= )
Server 只有一台,DB Server,Web Server,Application Server 全部都包在一起
但是你卻使用 MySQL 來裝
我只能說在我的眼中,這樣機器應用配置不佳

SQLite 擁有
  1. 只能 command line 直接使用(這在某方面是優點)
  2. 檔案當作 backend (方便備份)
  3. 高速的效能(在簡單的DB ,簡單的SQL下,SQLite的速度相當好)
  4. 完全沒有權限設定的麻煩
等等的優點
簡直是架設一個小站的最佳選擇

那我們怎麼在 Ruby on Rails 下面使用 SQLite

1. 首先安裝 SQLite ,安裝完後打入 sqlite or sqlite3 檢查一下是否安裝成功
這裡要先講一下 SQLite依照版本分成 非SQLite3(SQLite1 or SQLite2) 跟 SQLite3
兩者使用的 ruby db interface 不同

2. 再來請使用 gem 安裝 SQLite 的 interface
如果你使用非 SQLite3 ,請打
gem i sqlite-ruby
但是如果你使用 SQLite3,請打
gem i sqlite3-ruby
到此安裝已經安裝完成,要進行設定了


3. 在 Ruby on Rails 資料夾底下的 config/database.yml 寫入SQLite 的相關設定
一樣分成 非 SQLite 3 以及 SQlite3 的版本

非SQLite3 的版本
production:
__adapter: sqlite3
__database: db/db檔名

SQLite3 的版本
production:
__adapter: sqlite3
__database: db/db檔名

在SQLite 裡面,一個DB 就是一個檔案
所以你要選擇DB
不是像 mysql 打入 use db_name ;
而是直接用其他DB的檔案即可
如此你就可以盡情使用SQLite
但是又要問到 怎麼進行管理呢?
雖然SQLite 擁有 SQLite Database Browser 這樣的工具
但是真正好用的工具在我們身旁

就是 Ruby on Rails 的 activerecord

不相信嗎?請在database.yml設定好之後
進入 Ruby on Rails console
照著這篇的指引
我們已經可以使用 SQlite DBA
如果想看資料的話
Model.find_all 不就解決了嗎 XD

沒有留言: