在OS X系统中配置Ruby on Rails使其可以访问Sql Server数据库
经过大半天的折腾,终于可以让RoR在OS X系统里访问Sql Server数据库了。这里记录一下操作的过程,免得以后忘了。
第一步,安装FreeTDS
从FreeTDS的官网上下载最新的稳定版的压缩包,然后,遵照这里的说明进行手工编译(好怀念微软的Setup.exe和*.msi啊),其中只需要前7步:
1. Download the latest stable release of freetds.
2. Extract freetds tgz file within Downloads
3. Open terminal and cd to Downloads/freetds-0.** folder
4. run “./configure”
5. run “cp /usr/bin/glibtool libtool” <----Important!
6. run "sudo make"
7. run "sudo make install"
这样,我们的FreeTDS就算是装好了。
第二步, 安装Tiny_TDS
就在命令行里执行: gem install tiny_tds
不要问我gem从哪里来的,google一下gem就会找到很多信息。在OS X里,gem是内置的。呵呵。
注意,如果没有安装FreeTDS的话,tiny_tds也肯定会安装失败,因为它依赖FreeTDS
第三步, 安装 activerecord_sqlserver_adapter
同样,只需要在命令行里执行: gem install activerecord_sqlserver_adapter
第四步, 修改RoR项目根目录下的Gemfile文件,增加一下2句:
gem \'tiny_tds\'
gem \'activerecord_sqlserver_adapter\'
第五步,运行bundle install
在命令行里运行 bundle install,运行完毕之后会输出很多Using语句,看看tiny_tds和activerecord_sqlserver_adapter是否包含在里面,应该都包含在里面才正确。
第六步,修改database.yml
打来RoR项目根目录下、config子目录下的database.yml文件,根据需要修改配置,比如:
development:
adapter: sqlserver
mode: dblib
dataserver: 10.4.30.77\Sql2005 # Name from freetds.conf, host or instance \'localhost\SQLEXPRESS\'
host: 10.4.30.77 # Used if dataserver is blank.
port: 1433 # Used if host present. Default is 1433.
database: ALO_DB
username: db_user
password: xxxx
timeout: 5000
azure: false # for windows azure
最后,大功告成
可以创建model了: rails generate model MyShipper ShipperID:int ShipperName:string
请发表评论