程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> DB2數據庫 >> DB2教程 >> 使用 DB2 pureXML 和 DB2OnRails 構建敏捷的 WEB2.0 應用

使用 DB2 pureXML 和 DB2OnRails 構建敏捷的 WEB2.0 應用

編輯:DB2教程

引言

Web2.0 這個詞匯在當下這個時候算是足夠流行的了,對於很多人來講,它可能就像一座金礦,因為有不少的風險投資人正在虎視眈眈地看著互聯網上又出現了哪些新奇有趣的應用值得去燒錢。在這篇文章裡,我不想談論如何吸引風險投資人的注意,但是我講的東西確實可以提高你圈到那些錢的概率 --- 以最敏捷的方式實現你腦中的想法。

當然,這些想法的實現最終還是要靠代碼一行行地堆出來。但是隨著新技術的不斷出現,程序員手頭上已經有越來越多可以利用的東西可以大大節省這個時間,並且一些以往通常被認為實現起來比較困難的需求也可以使用一些工具輕易實現。

當我們可以站在巨人的肩膀上時,何苦還要閉門再造那些已經被大量制造且性能優良的輪子呢 ?

你可以在本文的題目中找到“敏捷”二字,對於本文而言,這個詞有著多重含義。首先在技術上,本文所提到的技術組合需要更少的代碼,對變化和需求的擴展具有更方便快捷的響應能力。對於成本來說,本文提到的技術都可以免費獲得和使用,它保證了你在選擇使用該技術之前不需要經過漫長的考慮 --- 不管是個人的思想斗爭還是公司冗長的決策過程 ---,通常在這個充斥著各種新奇的想法的互聯網時代,先發制人就已經大大提高了你的圈錢概率。

對於本文想向您推薦的技術組合,您已經在題目中看到了,他們是 DB2 PureXML 和 Ruby On Rails. 在第二節中有對這兩個技術大體情況的簡單介紹。

為了向你證明這種技術組合的真正“敏捷”,我會本文中向你展示一個真正有趣的網絡應用的開發過程。基於該應用的一些特點,我想它夠格被稱為是一個 WEB 2.0 應用。在第三節,你可以看到對這個應用需求的詳細描述。第四節用來說明真正開發前的准備工作,即如何搭建開發環境。而最後的第五節,我將詳細描述如何一步步搭建這個應用。你會發現,這是一個輕松且有趣的過程。

一些相關知識

IBM DB2 Express-C

IBM 的 DB2 Express-C 最新版本為 9.5,它與用於大型應用的企業版本 (Enterprises Edition) 具有相同的公共代碼庫,是 IBM 專門為其合作伙伴和開發社區設計的。DB2 Express-C 具有企業版本所具有的大多數功能,例如對 PureXML 的支持等,其具有的純正 DB2 核心和對部署平台的極低限制(沒有數據庫大小限制,沒有自動管理或工具限制,沒有內存模型限制等等)使其成為開發人員、中小型應用部署的首選,當然,最重要的是 --- 它是免費的。

而正因為其與 DB2 的同根性,當需要時,部署在其上的應用可以被非常方便地移植到企業版本 DB2 上來。這種很強的擴展性同時可以保證當業務大量擴展後的需要。關於 IBM DB2 各個版本之間的對比,可以參考列於參考資料中的《哪一個分布式 DB2 9.5 版本適合您?》。另外,你還可以在參考資料中找到它的下載頁面。如果你在下載、安裝或試用過程中遇到了問題,亦或你想獲得關於這個版本 DB2 的最新消息,它的社區就是最好的地方了。通常開發人員經常出沒於上面並積極解答用戶提出來的問題。如果你正在試用 Ubuntu,你可以訪問參考資料中列出的 Ubuntu Linux 的 DB2 頁面,Canonical 已經和 IBM 合作制作了專門用於 Ubuntu 上面的安裝包,如果你願意付費,還可以獲得到一個更為強大的 IBM DB2 Express-C 和來自 Canonical 和 IBM 方面的官方服務支持。

DB2 PureXML

DB2 從 Viper 版本開始提供了對 XML 數據類型的支持,用戶可以使用 DB2 來儲存和查詢純 XML 數據。最重要的是,這種支持是內建於 DB2 的,它與以往的解決方案相比具有更好的性能和更強大的功能。這就是 DB2 的 PureXML 技術。

XML 數據現在已經充斥於互聯網之上。它的應用大大加強了應用的擴展性並且得益於其得到廣泛支持的標准化和相關技術的應用,應用之間的互通互聯也成為可能。基於這些優勢,已經有越來越多的 WEB2.0 應用用它來存儲相關的數據或作為數據通訊的協議。

更多的關於 PureXML 的資料,可參考本文的參考資料。

Ruby On Rails

現在 ROR(Ruby On Rails) 已經不僅僅在那些技術偏執狂和懶人中流行。隨著 37signals 公司的成功和網上“使用 ROR15 分鐘開發一個 BLOG 系統”視頻的驚現 ,,已經有越來越多的人 --- 包括開發人員跟那些頭腦中總是有些新鮮主意的家伙 --- 開始注意到它,它為 WEB 開發帶來了革命性的變革。

拋開那些浮躁的喧囂,ROR 在其自身架構的設計和提高開發效率上確實很有過人之處。且隨著 Rails 2.0 的發布和越來越多成功案例的公布,Ruby On Rails 已經開始成為構建企業應用和大用戶量互聯網應用的備選方案之一。

IBM_DB

IBM_DB Adapter 是一個由 IBM 官方開發並維護的用於 Ruby 的 DB2 驅動。實際上,它的開發人員就是 DB2 的開發人員。因此,在性能和對 DB2 的兼容性上,與社區開發的驅動相比,它具有先天的優勢。也因此,它總能與 DB2 同步更新以支持 DB2 中的那些令人艷羨的新功能,比如在當前的版本中,它很好地支持了 DB2 Viper 中的 PureXML 功能。實際上,通過 IBM_DB 項目的活躍,也可以看出來,IBM 對 ROR 社區的重視。並且 IBM_DB 本身現在也是 rubyforge 中的一個開源項目,它為使用 ROR 和 DB2 的開發人員和那些想為其他數據庫提供驅動程序的開發人員提供了良好的參考。

如果你想獲得 IBM_DB 項目的最新現狀,可以訪問其位於 RubyForge 上的項目主頁。並且,在其項目論壇中,開發人員會很及時地回答用戶提出的問題。對於 IBM_DB 的一些關於安裝和應用的基本問題,它的開發人員創建了一個單獨的網站用來發布一些技術文章,你可以訪問參考資料中列出的 DB2OnRails 網站得到幫助。

初始需求的提出

Q 是我的一個同事,他可是我們組裡每一次活動的組織者。當組裡只有 10 來個人的時候,在每次活動前,他都會把大家召集在一起,經過一個大概半小時的頭腦風暴,大家還可以得到一個關於活動計劃的共識。但是當人數增加到 20 多人的時候,我發現這個會議的時間通常會在一個多小時。而現在 --- 當人數達到 50 多人的時候,這個決策過程通常都會以郵件外加一個人一個人走訪的形式完成了,因為 Q 發現在一個 50 多人的會場上,這個決策過程通常都會演變為一場不可控制的爭論。

“眾口難調”說的就是這種事情。在一個有多人參與的活動中,如何以最小的成本統一大多數人的思想,最終得出一個符合大多數人利益要求的結論,這便是本系統最初的需求來源。基於 Q 為我們大家所做的貢獻和他的行為是這個系統的靈感來源,我們把這個小應用命名為:robotQ.。

robotQ 會在得到最初的活動計劃信息後不斷獲取每一個參與者的意見信息,最終得到一份符合大多數人利益要求的詳細活動計劃。總之一句話,robotQ 需要人的觀點作為輸入並輸出最終形成的活動計劃 -- 當然,這個過程需要人的交互。

使用這個應用,活動的發起人只需要在一開始發出活動的初始計劃和邀請人,剩下的事情就可以交給 robotQ 去做了,它會不厭其煩地與眾位進行“溝通”,直到最後到達計劃結束的時間。在最後,它會給出一份考慮了“大多數人”意願的最優化活動方案。

其實,我們的“調解機器人”很類似於 Ikordo---- 一個已經相當成熟的商務會議規劃工具。通過 robotQ,你會發現開發一個類似的 WEB2.0 應用其實是如此輕松,輕松到你完全可以再去考慮如何能夠將它做的更“好玩”。

而如何才能夠確定這個計劃已經得到了最終的結論呢?我想大家應該都有這樣的經驗 :如果任由各位爭吵下去,恐怕永遠也不會完結。所以在 robotQ 的世界裡,我們要設置一個時間作為 deadline 來進行控制,如果達到了預定的時間,這個計劃的討論就算完結了,就應該有一個最終方案出來。

考慮到用戶使用的方便性,我們的 robotQ 會以郵件的形式將發生的事件和最後結果通知給各位應邀者。並且,任何人都可訂閱某個選定“計劃”的當前狀態。

下面我們簡單地羅列一下這個應用的功能點,當然,這些就是我們將要去實現的功能:

發起活動
任何人都可以發起活動,發起活動時發起者需要填寫活動的時間、地點、其他說明。同時可以多給出幾個時間和地點作為選項,供用戶投票決定。

無所謂,我都能去

活動參與者接到活動郵件後可選擇 " 無所謂,我都能去 "。

無論如何我都不去

活動參與者接到活動郵件後可選擇 " 我怎麼都不去 "。

選擇給出的選項
活動參與者根據給出的選項(如果有)進行選擇並提交。

我有更好的選擇
活動參與者可以在時間,地點和項目上給出自己的選項並發郵件給所有人進行選擇。

改變之前的選擇,重新操作
當其他活動參與者添加了自己的選項後,一封新的郵件會發送給其他活動參與者,其他活動參與者可以選擇重新選擇。

保持原來的選擇
當其他活動參與者添加了自己的選項後,活動參與者可以選擇保持原來的選擇不變。

時間到,統計選擇
在指定的統計結束時間到的時候,系統會自動統計每個選項的用戶選擇率並且將結果發送郵件給所有人。

搭建開發環境

對於一個剛發展起來想要從 WEB 2.0 中分得一杯羹的新公司,實施的成本當然是一個非常重要的部分。免費的東西人人喜歡,在本文中,我將介紹一個完全免費的開發和部署環境 --- 它絕不是只可以用來玩玩而已的玩具。借助於 Linux 平台的穩定和 DB2 的強大,構建於這個平台上的應用完全可以滿足於大用戶量的訪問和將來對擴展的需要。

下表中我列舉了 robotQ 的開發和部署中需要的主要軟件:


表 1. 開發和部署中需要的主要軟件
名稱 版本 主頁 備注 Ubuntu Linux 7.10 http://www.ubuntu.com/ 最流行的桌面 Linux 發行版之一 DB2 Express-C 9.5 http://www.ibm.com/software/data/db2/express/ IBM DB2 的免費發行版 Ruby 1.8.6 www.ruby-lang.org Ruby 語言當前最新的穩定版本 Rails 2.0 http://www.rubyonrails.org/ Rails 框架最新的穩定版本 IBM_DB Adapter 0.9.2 http://rubyforge.org/projects/rubyibm/ IBM 以開源形式發布的用於 Ruby 的 DB2 驅動 NetBeans IDE for Ruby 6.0.1 http://www.Netbeans.org/index.Html 由 Sun 公司發布的開源集成開發環境,其對 Ruby 開發的支持非常受 Ruby 程序員的歡迎

在這一節中,我會介紹除 Ubuntu Linux 之外那些軟件的安裝過程並給出一些參考材料。對於 Ubuntu Linux 操作系統的安裝,網上已經有足夠多用各種語言寫就的安裝和調優教程了。不管您在安裝過程中遇到什麼樣的問題,都可以在網上得到答案。唯一需要說明的是,在安裝完 Ubuntu Linux 操作系統之後,一定要加入一些“源”的地址,否則在使用 "apt-get" 命令安裝下面的那些軟件時,就會得到錯誤信息而不能進行下去。關於如何加入“源”以及應該加入哪些“源”和其他一些關於 Ubuntu Linux 的配置方法,可以參考 Ubuntu Linux 的快速設置指南。

安裝 Ruby 和 Rails

Linux 上面沒有類似 Windows 下的 one-click installer, ,但是實際上通過幾條命令進行的安裝,速度也並不一定比 Windows 上慢。
首先,當然是安裝 Ruby,您可以打開 Ruby 官方網站的下載頁面,那裡介紹了在各種平台下安裝 Ruby 的方法。當然,也包括了 Ubuntu 下的安裝命令:

% sudo apt-get install ruby ruby1.8-dev irb rdoc build-essential

這條指令會安裝 Ruby 的最新穩定版本 1.8.6 以及交互式 Ruby--IRB 和 Ruby 的 API 文檔。Rdoc.ruby1.8-dev 和 build-essential 包中的一些類在之後安裝 IBM_DB adapter 時會用到。同時,程序會自動安裝必須的其他程序包。需要說明的是,在執行這條語句之前,一定要保證在 Ubuntu 中添加了“源”的地址,否則就不會成功。

安裝 gem,gem 是 Ruby 下一個非常方便的程序包管理組件,使用 gem 可以非常方便地安裝 ruby 下絕大多數的常用軟件包 ( 類似 Ubuntu 下的 apt 命令了 )。使用下面的命令安裝 gem:

% sudo apt-get install rubygems 

如果 gem 安裝成功,就可以使用 gem 安裝其他的 Ruby 程序包了。首先,我們使用 gem 來將 Ruby 中所有的程序包更新到最新版本並刪除不會使用的舊版本:

% sudo gem update --system 

在這一步的時候,很多人都會碰到一個下面的錯誤:

“(Gem::GemNotFoundException) Could not find rubygems-update”
其實這個錯誤並不那麼高深,可能是網絡問題吧,你只要多執行幾次該命令,就會成功了。

接下來,是安裝 Rails 了,雖然 Ruby 語言本身借著 Rails 的光芒大放異彩,但畢竟 Rails 還是 Ruby 語言之下的一個 WEB 開發包。

% sudo gem install rails –include-dependencIEs 

我們用上面的命令來安裝 rails 及其必須的依賴包。如果你上面幾步都嚴格按照本教程來做,那麼恭喜你,你在這個時刻會得到另外一個錯誤:

/usr/bin/gem:23: uninitialized constant Gem::GemRunner(NameError) 

如果你是用 apt 命令來安裝的 gem,通常情況下都會遇到這個錯誤,幸運的是,修正它並不復雜,只需要編輯 /usr/bin/gem 文件,並在 require ‘rubygems’之後加一行:

require ‘rubygems/gem_runner’ 

然後再從新執行然後再重新執行 rails 的安裝命令,就可以成功了。如果你想了解更多關於這個錯誤的故事,可以參考列在參考資料中的“官方論壇上的討論”。

安裝 DB2

DB2 Express-C 的最新版本是 9.5,在安裝之前,首先要安裝兩個 DB2 依賴的程序包,可以通過以下命令進行安裝:

$ sudo apt-get install libstdc++5 
$ sudo apt-get install libaio-dev 

然後就可以下載 DB2 Express-C 9.5. ,如果你在下載中遇到問題,可以訪問參考資料中給出的 DB2 Express-C 官方論壇,大多數的問題都可以在那裡找到答案。將下載到的安裝包解壓縮後,運行命令進行安裝:

$ sudo ./db2setup 

接下來就可以按照 DB2 的安裝向導一步步進行下去,大多數的選項選擇默認值就可以,這裡要特別說明一個需要注意的地方,在 Install Type 窗口中,要注意選擇為 custom 類型,然後在接下來的 Features 窗口中,要把“Application Development Tools”下的“Base application development tools”選中。如下圖所示:


圖 1. DB2 Installation type 窗口
使用 DB2 pureXML 和 DB2OnRails 構建敏捷的 WEB2.0 應用

圖片看不清楚?請點擊這裡查看原圖(大圖)。

圖 2. DB2 Features 窗口
使用 DB2 pureXML 和 DB2OnRails 構建敏捷的 WEB2.0 應用

圖片看不清楚?請點擊這裡查看原圖(大圖)。

做了這一步,才能保證下面的 IBM_DB Adapter 能夠成安裝。

至於 DB2 安裝的其他部分,都可以接受默認值進行。在 DB2 安裝過程中的其他選項,可參考資料中的“安裝文檔”。

安裝 IBM_DB adapter

假設在上面的一步中安裝的 DB2 創建了一個名為 db2inst1 的實例,且其 home 目錄位於 /home/db2inst1,,那麼需要執行以下的命令來進行 IBM_DB 的安裝:
清單 1. 安裝 IBM_DB adapter

$ . /home/db2inst1/sqllib/db2profile 
$ export IBM_DB_DIR=/home/db2inst1/sqllib 
$ export IBM_DB_LIB=/home/db2inst1/sqllib/lib 
$ sudo gem update 
$ sudo gem install ibm_db --include-dependencIEs 

不出意外的話,到此為止,DB2_DB 的 0.9.2 版本及其相應的 rdoc 文檔和 ri 文檔都已經正確安裝上了。

在安裝過程中遇到的問題,可訪問參考資料中的 db2onrails 網站獲得更加詳細的安裝和配置資料,或是訪問 IBM_DB 官方論壇直接獲取開發人員的幫助。

安裝開發工具 ---NetBeans IDE

NetBeans IDE 是 Sun 公司支持開發的集成軟件開發工具,其對 Ruby 和 Ruby On Rails 的支持已經獲得了越來越多 ROR 開發者的肯定。首先在其下載站點下載其專門的 Ruby 版本。當然,如果你還希望用其進行其他語言的開發,如 C++ 或 Java,還可以下載其相應的版本。不過據筆者個人使用經驗來看,其提供的功能和基於其上的插件資源還與 Eclipse 具有一定的差距。

下載後 ,,Linux 的文件是一個 .sh 的文件,將其權限改為可執行,然後執行這個文件,按照向導提示一步步安裝 netbean。安裝過程中,如果沒有特殊的需要,接受默認值就可以了。安裝完成後,進入安裝目錄下的 bin 目錄,執行 netbean 命令打開 netbean 編輯器。

創建工程

在使用 netbean 創建和維護 ROR 工程時,因為有可能會訪問 Ruby Gem, ,所以這些操作需要具有故管理員權限的用戶執行。為了避免麻煩,我們就用具有管理員權限的用戶來運行netbean 開發工具 ( 如無特殊說明,本文中命令執行位置均為命令文件所在的位置 ):

sudo ./netbean

在打開的 netbean IDE 中,選擇文件--新建項目,然後通過一個向導設置新工程的參數並創建新功能。這個創建新工程的向導如下:


圖 3. 選擇項目
使用 DB2 pureXML 和 DB2OnRails 構建敏捷的 WEB2.0 應用

圖片看不清楚?請點擊這裡查看原圖(大圖)。

圖 4. 設置名稱和位置
使用 DB2 pureXML 和 DB2OnRails 構建敏捷的 WEB2.0 應用

圖 5. 安裝 Rails
使用 DB2 pureXML 和 DB2OnRails 構建敏捷的 WEB2.0 應用

在第一步和第二步中,可根據實際情況對項目進行設置。需要說明的是,在第二步設置數據庫時,因為在選擇框中並沒有 DB2 這一選項,所以我們在這一步中選擇 MySQL 數據庫,在項目建立好後再修改相應的配置文件將使用的數據庫指定為 DB2。在第三步中,我們當前的 Rails 已經是最新版本,所以不用再更新 Rails 了。完成這個向導後,點擊 " 完成 " 按鈕。之後便可以看到 IDE 下部出現的一系列創建操作。實際上,走過這個向導,就相當於在命令行中執行了如下的 Rails 命令:

rails robotQ

接下來創建整個應用的數據庫表。這是一個非常簡單的小應用,它簡單到甚至只需要一個表就可以滿足所有的需求 --- 當然,這還要得益於使用 XML 存儲了大量的信息:


表 2. Plan 表結構說明
字段名 類型 說明 Id Integer 該表主鍵 Name Varchar(200) 該活動計劃的名稱 description Varchar(2255) 該活動計劃的簡短描述 endDate Datetime 該活動計劃截止時間 content XML 該活動計劃的具體內容,包括了活動的時間、地點、人物信息。

接下來,我們創建 ROR 中的 Migration 腳本,Controller 和 Model. 。而這一切,我們可以通過一個 scaffold((以前被稱為 scaffold_resource)生成器一次性搞定。而且,通過這個生成器生成的代碼還是 REST 風格的(又一個當前炙手可熱的新技術)。在 Netbean 中,我們可以右擊項目名,選擇“生成”,然後通過如下的生成器向導來生成我們所需要的一切:


圖 6. Netbean 中的 Rails 生成器
使用 DB2 pureXML 和 DB2OnRails 構建敏捷的 WEB2.0 應用

點擊確定後,可以在 IDE 下方的輸出窗口中看到如下的文件改動。


清單 2. 查看Rails 生成的文件
   exists app/models/ 
   exists app/controllers/ 
   exists app/helpers/ 
   create app/vIEws/plans 
   exists app/vIEws/layouts/ 
   exists test/functional/ 
   exists test/unit/ 
   create app/vIEws/plans/index.Html.erb 
   create app/vIEws/plans/show.Html.erb 
   create app/vIEws/plans/new.Html.erb 
   create app/vIEws/plans/edit.Html.erb 
   create app/vIEws/layouts/plans.Html.erb 
   create public/stylesheets/scaffold.CSS 
   dependency model 
   exists  app/models/ 
   exists  test/unit/ 
   exists  test/fixtures/ 
   create  app/models/plan.rb 
   create  test/unit/plan_test.rb 
   create  test/fixtures/plans.yml 
   create  db/migrate 
   create  db/migrate/001_create_plans.rb 
   create app/controllers/plans_controller.rb 
   create test/functional/plans_controller_test.rb 
   create app/helpers/plans_helper.rb 
   route map.resources :plans 

在窗口上的這一系列點擊操作等同於在命令行下輸入如下的 Rails 命令:

./script/generate scaffold plan 

可見,這個生成器已經為我們創建好了從最後面的數據庫 Migration 腳本到最前端的 VIEw 頁面在內的所有文件,我們接下來的工作,就是在這些已經生成的文件中填空了。

接著修改剛剛自動生成的 db/001_create_plans.rb 加入創建 plan 表的語句。


清單 3. 加入創建 plan 表的語句
class CreatePlans < ActiveRecord::Migration 
 def self.up 
 create_table :plans do |t| 
 t.column :name, :string, :null=>false, :limit=>200 
 t.column :description, :string, :null=>false 
 t.column :endTime, :datetime, :null=>false 
 t.column :content, :XML, :null=>false 
 end 
end 
 
 def self.down 
 drop_table :plans 
 end 
end 

現在是時候修改項目的數據庫配置文件以讓我們剛剛創建的項目能夠通過 IBM_DB adapter 連接 DB2 數據庫了。
在剛才通過 netbean IDE 建立項目的時候,由於列表中並沒有 DB2 的選項,我們只能選擇了生成 MySQL 類型的數據庫配置文件。下面我們編輯位於項目根目錄下的 config 目錄中的 database.yml 文件,將其內容修改為如下內容。


清單 4. 修改 database.yml 文件內容
development: 
 adapter: ibm_db 
 database: robotQ 
 username: db2inst1 
 passWord: passw0rd 
 host: localshost 
 port: 50000 
 schema: robotQ 
 
test: 
 adapter: ibm_db 
 database: robotQ 
 username: db2inst1 
 passWord: passw0rd 
 host: localshost 
 port: 50000 
 schema: robotQ 
 
production: 
 adapter: ibm_db 
 database: robotQ 
 username: db2inst1 
 passWord: passw0rd 
 host: localshost 
 port: 50000 
 schema: robotQ 

為了簡便起見,在這個例子中,我們將開發數據庫、測試數據庫和產品數據庫設置為同樣的數據庫。可以看到,在上面的數據庫配置文件中,我們指名了使用 ibm_db 為數據庫適配器,並且指定了數據庫的名字為 robotQ, ,連接數據庫的用戶名 ( 也就是安裝數據庫時建立的實例 ) 為 db2inst1。其他諸如密碼、端口等等,都需要根據自己的實際開發環境進行配置。

Migration 腳本可以自動創建需要的數據表,但是數據庫本身還是要我們自己來創建的:

$ su - db2inst1 
$ db2 create db robotQ using codeset utf-8 territory us 
DB20000I The CREATE DATABASE command completed successfully. 

接下來,執行 rake 操作,將 migration 腳本中指定的數據庫結構寫入數據庫中。通過 netbean,,可以在項目名稱上點擊右鍵,然後選擇“運行 rake 任務-db-migrate”. 。如果執行有問題的話,還可以在命令行下執行“rake db:migrate””, ,ROR 會自動調用這個 migration 腳本創建相應的數據庫對象。

下面是命令執行後的輸出結果:


清單 5. 命令執行後的輸出結果
== CreatePlans: migrating ======================================= 
-- create_table(:plans) 
-> 0.4220s 
== CreatePlans: migrated (0.4220s) =============================== 

至此為止,你已經擁有了結構定義完備的數據庫表,用於數據庫維護的 migration 腳本,直接對應於 plans 表的 model 代碼以及具有 REST 風格的 controller。

在後續的文章中,我們將進行實際的開發工作,來實現在本文開始處定義的 8 條需求。並且,你將看到,結合 DB2 PureXML 和 ROR 強大的 WEB 開發能力和 XML 處理能力,構建一個強壯的 WEB2.0 應用將是如此敏捷。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved