我有一個很奇葩的需求!
我需要在不改變現(xiàn)有MySql表結構的情況下使用Rails訪問MySql.目前只需要用到ActiveRecord的查詢功能.
為何會有這種奇葩需求呢?!
現(xiàn)有系統(tǒng)的數(shù)據(jù)架構是運行很久且穩(wěn)定的,且現(xiàn)有系統(tǒng)不允許添加一些方便平時使用的小功能.那只能另辟蹊徑了.又因為我想嘗試下在Windows下搞Rails開發(fā).于是乎,這個奇葩需求就產(chǎn)生了.
既然有想法了,那么就動手做吧!
windows下安裝Rails環(huán)境就不說了,網(wǎng)上一堆.
訪問MySql使用mysql2.如果在確認數(shù)據(jù)庫配置沒有任何問題的前提下,還是無法訪問MySql.請嘗試下載安裝MySql的動態(tài)鏈接庫文件libmysql.dll.這是下載地址
如果沒有意外,安裝完動態(tài)鏈接庫后一切就正常了.如何還不正常...請問Google!
這個需求的唯一關鍵點就是設置Model的默認訪問table名稱.因為按照Rails的約定,Model是單數(shù),數(shù)據(jù)庫中的表必須是復數(shù).比如有Account這個Model,如果數(shù)據(jù)庫中的表是account,那么需要按照下面代碼中的設置來創(chuàng)建Model.
class Account < ActiveRecord::Base
self.table_name = 'account'
end
這樣設置之后,就可以愉快的使用ActiveRecord的強大功能了.