在開始本章之前,請確保資料庫伺服器已啓動並正在運行。Ruby on Rails建議創建三個資料庫,分別用於開發、測試和生產環境。按照慣例,他們的名字應該是&;
- library_development
- library_production
- library_test
您應該初始化這三個程序,並爲它們創建具有完全讀寫權限的用戶和密碼。我們正在爲應用程式使用根用戶ID。
Database Setup for MySQL
在MySQL中,我們對應用程式使用根用戶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。
Configuring database.yml
此時,您需要讓Rails知道資料庫的用戶名和密碼。您可以在您創建的Rails應用程式的library\config子目錄中的文件database.yml中執行此操作。此文件包含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
Database Setup for PostgreSQL
默認情況下,PostgreSQL不提供任何用戶。我們必須創建新用戶。使用以下命令創建名爲rubyuser的用戶。
tp> sudo -u postgres createuser rubyuser -s
如果要爲新用戶創建密碼,請使用以下命令。
tp> sudo -u postgres psql postgres=# \password rubyuser
使用以下命令創建資料庫庫開發。
postgres=# CREATE DATABASE library_development OWNER rubyuser; CREATE DATABASE
使用以下命令創建資料庫庫產品。
postgres=# CREATE DATABASE library_production OWNER rubyuser; CREATE DATABASE
使用以下命令創建資料庫庫測試。
postgres=# CREATE DATABASE library_test OWNER rubyuser; CREATE DATABASE
Pressctrl+d>to terminate possgresql.
Configuring database.yml
此時,您需要讓Rails知道資料庫的用戶名和密碼。您可以在您創建的Rails應用程式的library\config子目錄中的文件database.yml中執行此操作。此文件包含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>
What is Next?
接下來的兩章將解釋如何對資料庫表建模,以及如何使用Rails遷移來管理這些表。