Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1354285
  • 博文数量: 334
  • 博客积分: 10302
  • 博客等级: 上将
  • 技术积分: 2986
  • 用 户 组: 普通用户
  • 注册时间: 2006-01-12 10:17
文章分类

全部博文(334)

文章存档

2013年(1)

2012年(9)

2011年(4)

2010年(10)

2009年(24)

2008年(64)

2007年(72)

2006年(150)

我的朋友

分类:

2007-01-16 12:45:23

大部分網站的資料庫都採用 MySQL, 但不少商業公司卻喜歡採用 , 原因是它功能比較完整, 穩定及速度也不錯. 我們之前的 J2EE project 就是採用 PostgreSQL, 運作上都沒甚麼問題. 它的工具程式 也比 MySQL 工具程式好用太多了.

所以想用 ActiveRecord(AR) 來玩玩我們的 J2EE project 的資料庫, 開始動手吧! For what? Fun and Happiness!

  • PostgreSQL 安裝
    • 建議下載 8.1 版本

Windows 下安裝程式會幫你新增一位使用者, 建議不要使用 random 密碼. encoding 選擇 "UTF8", 記住密碼, 其他預設就好了!

    • 安裝完成後, 執行 PgAdmin 測試一下有沒有問題.
  • Rails 設定
    • 安裝 PostgreSQL driver
   $ gem install postgres-pr
    • 修改一下 config/database.yaml
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 版本)

    • 直接下 SQL 指令
D:\workspace\mywe>ruby script/console
>>Loading development environment.
>>ActiveRecord::Base.find_by_sql "SELECT p.* FROM \"Party\" p"
...
    • Model & Table
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

阅读(2769) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~