Postgres로 Ruby on Rails를 설정하는 방법


상태: 더 이상 사용되지 않음

이 문서는 더 이상 사용되지 않으며 더 이상 유지 관리되지 않습니다.

이유

이제 개별 플랫폼에 맞게 조정된 Postgres와 함께 Rails를 사용하기 위한 최신 자습서를 제공합니다.

대신 보기

이 문서는 여전히 참조용으로 유용할 수 있지만 작동하지 않거나 모범 사례를 따르지 않을 수 있습니다. 사용 중인 운영 체제에 대해 작성된 최신 문서를 사용하는 것이 좋습니다.

  • Ubuntu 18.04에서 Ruby on Rails 애플리케이션과 함께 PostgreSQL을 사용하는 방법\n\n
  • macOS에서 Ruby on Rails 애플리케이션과 함께 PostgreSQL을 사용하는 방법\n\n

소개

루비. Rails는 데이터베이스에 구애받지 않습니다. 즉, 다양한 데이터베이스와 함께 사용할 수 있습니다. 기본적으로 MySQL이 사용되고 있다고 가정하지만 대신 Postgres와 함께 사용하는 것이 매우 쉽습니다.

이 가이드는 Postgres 데이터베이스를 사용하는 Rails 애플리케이션을 만드는 과정을 안내합니다. 로컬 시스템 또는 VPS에서 가이드를 따를 수 있습니다.

요구 사항 설치

RVM을 사용하여 레일 설치

Rails를 설치하는 가장 쉬운 방법은 설치된 curl을 사용하는 것입니다(이 방법은 OS에 따라 다름). RVM이 이미 설치되어 있으면 다음 섹션으로 건너뜁니다.

RVM은 설치의 일부로 Ruby 및 Rails를 자동으로 설치할 수 있습니다. 이렇게 하려면 다음 명령을 실행합니다.

\curl -L https://get.rvm.io | bash -s stable --rails

참고: 실행하기 전에 RVM 설치 스크립트(또는 bash로 파이프하는 다른 원격 스크립트)를 검토해야 합니다.

RVM이 시스템에 자동으로 설치됩니다. 이제 이를 사용하여 Ruby 버전을 관리할 수 있습니다. 이는 프로젝트마다 다른 버전의 Ruby가 필요할 수 있으므로 유용합니다. RVM은 또한 우리를 위해 Rails gem을 설치했습니다.

RubyGems를 사용하여 Rails 설치

RVM이 이미 설치되어 있으면 다시 설치할 필요가 없습니다. 대신 gem을 설치하여 간단히 Rails를 설치할 수 있습니다.

gem install rails

이렇게 하면 Rails와 필요한 다른 gem이 설치됩니다.

Postgres 설치

Postgres 설치 방법은 OS에 따라 다릅니다. 전체 목록은 postgresql.org/download를 참조하십시오. 일반적으로 Ubuntu의 apt-get 또는 OS X의 Homebrew와 같은 패키지 관리자를 사용하는 것이 가장 쉽습니다.

로컬 컴퓨터에 Postgres를 설치하는 경우 GUI를 설치할 수도 있습니다(이 가이드에서는 명령줄 사용을 가정함). pgAdmin은 세계에서 가장 예쁜 도구는 아니지만 작업을 수행합니다.

마지막으로 Ruby 코드에서 Postgres와 인터페이스할 수 있도록 pg gem을 설치해야 합니다. 이렇게 하려면:

gem install pg

Postgres 설정

다음 단계에서 생성할 Rails 앱에 대한 Postgres 사용자를 생성합니다. 이렇게 하려면 Postgres 사용자로 전환합니다.

su - postgres

그런 다음 Postgres에 액세스합니다.

psql

그런 다음 사용자(또는 Postgres에서 \역할\이라고 함)를 만듭니다.

create role myapp with createdb login password 'password1';

Rails 앱 만들기

Postgres용으로 구성된 Rails 앱을 만들려면 다음 명령을 실행합니다.

rails new myapp --database=postgresql

이렇게 하면 "myapp\이라는 앱이 있는 "myapp\이라는 디렉토리가 생성됩니다(명령을 실행할 때 원하는 이름을 지정할 수 있음). Rails는 데이터베이스 사용자의 이름이 애플리케이션의 이름과 일치할 것으로 예상하지만 필요한 경우 쉽게 변경할 수 있습니다.

이제 Rails가 통신할 데이터베이스를 구성합니다. 이것은 다음 위치에 있는 database.yml 파일을 사용하여 수행됩니다.

RAILS_ROOT/config/database.yml

참고: RAILS_ROOT는 Rails 루트 디렉토리입니다. 위의 예에서는 /myapp(현재 위치 기준)에 있습니다.

database.yml 파일은 Rails에서 현재 Rails 환경에 적합한 데이터베이스에 연결하는 데 사용됩니다. 데이터 직렬화 표준인 YAML을 사용합니다. 다양한 환경에 대해 여기에 나열된 몇 가지 데이터베이스가 있습니다. 개발, 테스트 및 생산. 기본적으로 Rails는 환경마다 다른 데이터베이스를 기대합니다. 예를 들어 Rails 테스트를 실행할 때마다 테스트 데이터베이스가 비워지고 다시 빌드되기 때문에 이것은 편리합니다. 각 데이터베이스에 대해 사용자 이름 및 비밀번호가 Postgres 사용자에게 제공한 사용자 이름 및 비밀번호와 일치하는지 확인하십시오.

구성되면 database.yml에 다음과 같은 내용이 포함되어야 합니다.

development:
  adapter: postgresql
  encoding: unicode
  database: myapp_development
  pool: 5
  username: myapp
  password: password1

test:
  adapter: postgresql
  encoding: unicode
  database: myapp_test
  pool: 5
  username: myapp
  password: password1

그런 다음 다음을 실행할 수 있습니다.

rake db:setup

이렇게 하면 개발 및 테스트 데이터베이스가 생성되고 소유자가 지정된 사용자로 설정되며 각각 "schema_migrations\ 테이블이 생성됩니다. 이 테이블은 스키마 및 데이터에 대한 마이그레이션을 기록하는 데 사용됩니다.

러닝 레일

이제 Rails 앱을 시작할 수 있습니다.

rails server

localhost:3000으로 이동하면 Rails 랜딩 페이지가 표시됩니다. 이것은 실제로 많은 일을 하지 않습니다. 데이터베이스와 상호 작용하기 위해 스캐폴드를 생성해 보겠습니다.

rails g scaffold Post title:string body:text
rake db:migrate

이제 더 많은 입문 작업을 위해 Rails 시작 안내서로 이동하십시오.

Rails 앱이 이제 Postgres 데이터베이스와 통신하고 있습니다!