声明:本人现为大三学生,英语学得很烂,四级勉强过,所以翻译的许多不好的地方。本人也没有深入的学习rails,所以可能有错误,请读者酌情吸收。如果哪里翻译错误还请指出。
1.6 Rails和数据库
本书中的例子都是使用SQLite3写的(3.6.16或者更高)。如果你想跟着我们一起写相同的代码,如果你安装了一个SQLite3数据库,那是很容易的。如果你决定使用一些其他的数据库,它不会成为一个主要问题。你可能需要对代码中直接编写的SQL语句稍作调整,但是Rails已经很好的消除了应用程序中大部分与数据库有关的SQL。
如果你想连接除了SQLite3之外的数据库,可以选择DB2,MySQL,Oracle,Postgres,Firebird,和SQL Server,这些都可以和Rails工作。但是除了SQLite3之外,其他的数据库需要安装一个数据库驱动——一个Ruby库,Rails可以用它连接数据库引擎。本节就介绍如何安装数据库驱动。
数据库驱动都是使用C写的,并且多以源码的形式发布。如果你不想编译源码得到源程序,就认真的查看驱动的网站,很多时候作者会同时发布编译好的二进制版本。
如果你实在找不到一个二进制的版本,或者你更愿意通过二进制编译,在你的机器上你需要一个开发环境,用于编译这个源文件。在Windows上,这就意味着你需要安装一个VC++。在Linux下,你需要gcc或者类似的工具。
在OS X下,你需要安装开发工具。你需要你的数据库驱动到你的正确的Ruby版本中。如果你已经安装了自己的Ruby版本,绕过了内建的Ruby。记得当编辑和安装数据库驱动时,把你安装的Ruby版本放在系统路径的最前面。你可以使用which ruby命令来确保当前运行的Ruby是不是位于/usr/bin的版本。
下面列出了Rails支持的各种数据库,并给出了各个驱动程序的首页地址。
纯Ruby编写的Postgres适配器也是可以得到的。可以在Ruby-DBI网页http://rubyforge.rog/projects/postgres-pr下载Postgres-pr。
MySQL和SQLite适配器同样可以使用Ru