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_productionlibrary_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>

다음은 무엇입니까?

다음 두 장에서는 데이터베이스 테이블을 모델링하는 방법과 Rails 마이그레이션을 사용하여이를 관리하는 방법을 설명합니다.