2.1.2 配置数据库
生成scaffold需要进行持久层访问,因此,我们必须先进行数据库配置。数据库配置写在firstApp应用的\config\ database.yml文件中,打开该文件,看到如下代码(不包含注释)。
development: |
上面的代码大致可分为三部分,每部分的结构相同,分别表示在开发环境(development)、测试环境(test)和产品环境(production)下的数据库配置。当我们使用rails命令生成一个应用框架后,这个database.yml文件中就已经默认有了绝大部分配置参数的值,我们只需在password:后增加连接数据库所用的密码,就可以告诉Rails系统如何连接数据库。而我们在开发一个Rails应用时,只需要关注development部分的代码即可。因此,我们只需为development部分添加password参数的值。
提示 Rails使用YML文件进行配置管理,YML文件和XML文件有大致相似的格式和功能,但更加简洁。例如上面的代码中可以认为development是一个父元素,该元素下有5个子元素,分别指定连接数据库所用的适配器、数据库名、数据库用户名、数据库密码和数据库服务所在的主机。
Rails应用的数据库配置方式,体现了Rails的约定优于配置的原则。Rails约定:当一个Rails应用程序启动时,它会自动寻找根路径下的\config\database.yml文件,查看当前运行环境(development或test或production)中的数据库连接部分,按照这部分的配置进行数据库连接。因此,当我们需要进行数据库连接时,只需要按照Rails约定的方式,在database.yml文件中找到相应的运行环境的设置部分,添加其password的值。
此外,Rails默认是根据database.yml文件中名为development的数据库配置建立连接的。
注意 更改数据库配置文件之后,必须重启服务器,才能使对数据库连接所做的更改生效。
现在假设我们需要开发一个简单的用户注册、用户登录应用,为此,我们需要建立一个用户数据表来保存系统的注册用户,下面是创建用户数据表所使用的数据库脚本。
drop database if exists firstApp_development; |
在MySQL的控制台导入上面数据库脚本,就可以创建本应用的开发数据库和用户表。
| 回书目 上一节 下一节 |