- 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 遷移來管理這些表。