Ruby on Rails 2.1 - 数据库设置


在开始本章之前,请确保您的数据库服务器已设置并正在运行。Ruby on Rails 建议创建三个数据库——每个数据库用于开发、测试和生产环境。根据惯例,他们的名字应该如下 -

  • 图书馆发展
  • 图书馆生产
  • 库测试

您应该初始化所有三个,并为它们创建具有完全读写权限的用户名和密码。我们的应用程序使用root用户 ID。在 MySQL 中,控制台会话如下所示 -

mysql> create database library_development;
Query OK, 1 row affected (0.01 sec)

mysql> use library_development;
Database changed

mysql> grant all privileges on library_development.* 
   to 'root'@'localhost' identified by 'password';
Query OK, 0 rows affected (0.00 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

您可以对其他两个数据库library_productlibrary_test执行相同的操作。

配置数据库.yml

此时,您需要让 Rails 了解数据库的用户名和密码。您可以在文件database.yml中执行此操作,该文件位于您创建的Rails 应用程序的C:\ruby\library\config子目录中。该文件包含 MySQL 数据库的实时配置部分。在您使用的每个部分中,您需要更改用户名和密码行以反映您创建的数据库的权限。

完成后,它应该看起来像这样 -

development:
  adapter: mysql
  encoding: utf8
  database: library_development
  username: root
  password: password
  host: localhost
test:
  adapter: mysql
  encoding: utf8
  database: library_test
  username: root
  password: password
  host: localhost
production:
  adapter: mysql
  encoding: utf8
  database: library_production
  username: root
  password: password
  host: localhost

注意- 如果您使用除 MySQL 之外的任何其他数据库,则可以对其他数据库使用类似的设置。

下一步是什么?

接下来的两章解释如何对数据库表进行建模以及如何使用 Rails 迁移来管理这些表。