상태: 사용 중지됨
이 문서는 사용이 중지되었으며 더 이상 유지되지 않습니다.
이유
이제 운영 체제에 맞춰진 최신 Rails와 Postgres 사용에 대한 자습서를 제공합니다.
대신 보기
이 문서는 참조로는 여전히 유용할 수 있지만 작동하지 않거나 최선의 방법을 따르지 않을 수 있습니다. 사용 중인 운영 체제에 대한 최신 문서를 사용하는 것이 좋습니다.
소개
Postgres(또는 PostgreSQL)는 오픈 소스 데이터베이스입니다. 루비 온 레일은 루비로 작성된 오픈 소스 웹 프레임워크입니다. Rails는 데이터베이스에 중립적이며 다양한 다른 데이터베이스와 함께 사용할 수 있습니다. 기본적으로 MySQL을 사용한다고 가정하지만, 대신 Postgres를 사용하는 것도 매우 쉽습니다.
이 안내서에서는 Postgres 데이터베이스를 사용하는 Rails 애플리케이션을 생성하는 과정을 안내합니다. 이 안내서는 로컬 머신 또는 VPS에서 따를 수 있습니다.
요구 사항 설치
RVM을 사용하여 Rails 설치하기
Rails를 설치하는 가장 쉬운 방법은 Ruby도 함께 설치하는 RVM을 사용하는 것입니다. RVM을 설치하려면 시스템에 curl이 설치되어 있는지 확인해야 합니다(이는 사용하는 OS에 따라 다릅니다). 이미 RVM을 설치한 경우 다음 섹션으로 건너뛰세요.
RVM은 Ruby와 Rails를 자동으로 설치할 수 있습니다. 이를 위해 다음 명령을 실행하십시오:
\curl -L https://get.rvm.io | bash -s stable --rails
참고: 명령을 실행하기 전에 RVM 설치 스크립트를 확인하는 것이 좋습니다(또는 다른 원격 스크립트를 bash
에 파이프로 전달하기 전에).
RVM은 시스템에 자동으로 설치됩니다. 이제 Ruby 버전을 관리하는 데 사용할 수 있습니다. 이는 다른 프로젝트에 대해 서로 다른 Ruby 버전이 필요할 수 있기 때문에 유용합니다. RVM은 또한 Rails 젬을 자동으로 설치했습니다.
RubyGems를 사용하여 Rails 설치
RVM이 이미 설치되어 있는 경우 다시 설치할 필요가 없습니다. 대신 다음 명령으로 젬을 설치하여 Rails를 간단히 설치할 수 있습니다:
gem install rails
이렇게 하면 Rails 및 필요한 다른 젬이 설치됩니다.
Postgres 설치
Postgres를 설치하는 방법은 운영 체제에 따라 다릅니다. 전체 목록은 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 테스트를 실행할 때마다 비워지고 다시 작성됩니다. 각 데이터베이스에 대해, 사용자 이름과 암호가 PostgreSQL 사용자에게 제공한 사용자 이름과 암호와 일치하는지 확인하십시오.
구성 한 후 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 server
localhost:3000로 이동하면 레일스 랜딩 페이지가 표시됩니다. 하지만 이 페이지는 실제로 많은 작업을 수행하지 않습니다. 데이터베이스와 상호 작용하려면 스캐폴드를 만들어보겠습니다:
rails g scaffold Post title:string body:text
rake db:migrate
이제 localhost:3000/posts로 이동하세요. 여기서 새로운 게시물을 생성하고, 기존 게시물을 편집하고, 게시물을 삭제할 수 있습니다. 더 많은 기본 작업에 대해서는 레일스 시작 가이드를 참조하세요.
이제 레일스 앱이 포스트그레스 데이터베이스와 통신하고 있습니다!
Source:
https://www.digitalocean.com/community/tutorials/how-to-set-up-ruby-on-rails-with-postgres