- 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 - Active Records
- 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 教程
- Ruby 教程
Ruby on Rails - 数据库设置
在开始本章之前,请确保您的数据库服务器已启动并正在运行。Ruby on Rails 建议创建三个数据库 - 每个环境(开发、测试和生产)一个数据库。按照惯例,它们的名字应该是:
- library_development
- library_production
- library_test
您应该初始化所有三个数据库,并为它们创建一个具有完整读写权限的用户和密码。我们正在为我们的应用程序使用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执行相同的操作。
配置database.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。
配置database.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 迁移来管理这些表。