分类:
2007-01-16 12:45:23
大部分網站的資料庫都採用 MySQL, 但不少商業公司卻喜歡採用 , 原因是它功能比較完整, 穩定及速度也不錯. 我們之前的 J2EE project 就是採用 PostgreSQL, 運作上都沒甚麼問題. 它的工具程式 也比 MySQL 工具程式好用太多了.
所以想用 ActiveRecord(AR) 來玩玩我們的 J2EE project 的資料庫, 開始動手吧! For what? Fun and Happiness!
Windows 下安裝程式會幫你新增一位使用者, 建議不要使用 random 密碼. encoding 選擇 "UTF8", 記住密碼, 其他預設就好了!
$ gem install postgres-pr
development:
adapter: postgresql
database: we
username: postgres
password: yourpassword
encoding: UTF8
D:\workspace\mywe>ruby script/console
>>Loading development environment.
>>ActiveRecord::Base.connection
...
因為我們的資料庫原本就存在, 所以 Rails 的 convensions 完全不適用, 所以你就要了解一下 ActiveRecord, 如何讓它可以運作(其實就是打開 api 文件查一查資料, 我喜歡 CHM 版本)
D:\workspace\mywe>ruby script/console
>>Loading development environment.
>>ActiveRecord::Base.find_by_sql "SELECT p.* FROM \"Party\" p"
...
D:\workspace\mywe>ruby script/console
>>Loading development environment.
>>
>>class Party < ActiveRecord::Base
>> set_table_name "\"Party\""
>>end
>>p = Party.find(:first)
這樣我就可以直接下 SQL 除錯, 比起以前 java 還要 compile 方便很多, 用於分析及統計時很有用處, 還真是爽快!!!
PS. 因為 PostgreSQL 的 Table 名字只能小寫, 而我們 Table 是小大寫, 所以才會出現 "\"Party\"". 以後資料庫還是都用小寫比較沒問題.
更多設定問題請參考 Riding Rails - PostgreSQL