- Ruby on Rails 教程
- Ruby on Rails - 主页
- Ruby on Rails - 简介
- Ruby on Rails - 安装
- Ruby on Rails - 框架
- Ruby on Rails - 目录结构
- Ruby on Rails - 示例
- Ruby on Rails - 数据库设置
- Ruby on Rails - 活动记录
- Ruby on Rails - 迁移
- Ruby on Rails - 控制器
- Ruby on Rails - 路线
- Ruby on Rails - 视图
- Ruby on Rails - 布局
- Ruby on Rails - 脚手架
- Ruby on Rails - AJAX
- Ruby on Rails - 文件上传
- Ruby on Rails - 发送电子邮件
- Ruby on Rails 资源
- Ruby on Rails - 参考指南
- Ruby on Rails - 快速指南
- Ruby on Rails - 资源
- Ruby on Rails - 讨论
- 红宝石教程
- 红宝石教程
Ruby on Rails - 数据库设置
在开始本章之前,请确保您的数据库服务器已启动并正在运行。Ruby on Rails 建议创建三个数据库——每个数据库用于开发、测试和生产环境。按照惯例,他们的名字应该是 -
- 图书馆发展
- 图书馆生产
- 库测试
您应该初始化所有三个,并为它们创建具有完全读写权限的用户和密码。我们正在为我们的应用程序使用root用户 ID。
MySQL 的数据库设置
在 MySQL 中,我们的应用程序使用root用户 ID。执行此操作的 MySQL 控制台会话类似于 -
mysql> create database library_development; Query OK, 1 row affected (0.01 sec) 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_Production和Library_Test执行相同的操作。
配置数据库.yml
此时,您需要让 Rails 了解数据库的用户名和密码。您可以在文件database.yml中执行此操作,该文件位于您创建的Rails 应用程序的library\config子目录中。该文件包含 MySQL 数据库的实时配置部分。在您使用的每个部分中,您需要更改用户名和密码行以反映您创建的数据库的权限。
完成后,它应该看起来像这样 -
development: adapter: mysql database: library_development username: root password: [password] host: localhost test: adapter: mysql database: library_test username: root password: [password] host: localhost production: adapter: mysql database: library_production username: root password: [password] host: localhost
PostgreSQL 的数据库设置
默认情况下,PostgreSQL不提供任何用户。我们必须创建新用户。使用以下命令创建名为rubyuser的用户。
tp> sudo -u postgres createuser rubyuser -s
如果要为新用户创建密码,请使用以下命令。
tp> sudo -u postgres psql postgres=# \password rubyuser
使用以下命令创建数据库library_development。
postgres=# CREATE DATABASE library_development OWNER rubyuser; CREATE DATABASE
使用以下命令创建数据库Library_Production。
postgres=# CREATE DATABASE library_production OWNER rubyuser; CREATE DATABASE
使用以下命令创建数据库library_test。
postgres=# CREATE DATABASE library_test OWNER rubyuser; CREATE DATABASE
按Ctrl+D终止 PosgreSQL。
配置数据库.yml
此时,您需要让 Rails 知道数据库的用户名和密码。您可以在文件database.yml中执行此操作,该文件位于您创建的Rails 应用程序的library\config子目录中。该文件具有 PostgreSQL 数据库的实时配置部分。在每个部分中,您需要更改用户名和密码行以反映您所创建的数据库的权限。
完成后,它应该如下所示 -
default: &default adapter: postgresql encoding: unicode development: adapter: postgresql encoding: unicode database: library_development username: rubyuser password: <Password for rubyuser> test: adapter: postgresql encoding: unicode database: library_test username: rubyuser password: <Password for rubyuser> production: adapter: postgresql encoding: unicode database: library_production username: rubyuser password: <Password for rubyuser>
下一步是什么?
接下来的两章解释如何对数据库表进行建模以及如何使用 Rails 迁移来管理这些表。