Ruby onRails-データベースのセットアップ

この章を開始する前に、データベースサーバーが稼働していることを確認してください。Ruby on Railsは、3つのデータベース(それぞれ開発、テスト、および実稼働環境用のデータベース)を作成することをお勧めします。慣例に従って、それらの名前は-である必要があります

  • library_development
  • library_production
  • library_test

3つすべてを初期化し、完全な読み取りおよび書き込み権限を持つユーザーとパスワードを作成する必要があります。私たちは使用しています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)

さらに2つのデータベースに対して同じことを行うことができます library_production そして library_test

database.ymlの設定

この時点で、データベースのユーザー名とパスワードをRailsに通知する必要があります。あなたはファイルでこれを行いますdatabase.yml、で利用可能 library\config作成したRailsアプリケーションのサブディレクトリ。このファイルには、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、で利用可能 library\config作成したRailsアプリケーションのサブディレクトリ。このファイルには、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>

次は何ですか?

次の2つの章では、データベーステーブルをモデル化する方法と、Rails移行を使用してデータベーステーブルを管理する方法について説明します。