블로그로 돌아가기

PostgreSQL로 Ruby on Rails 설정하기

PostgreSQL로 Ruby on Rails 설정하기

사용 가능한 모든 데이터베이스 엔진 중에서, PostgreSQL 은 가장 인기 있는 엔진 중 하나입니다. 신뢰성, 강력한 기능 및 성능으로 잘 알려진 오픈 소스 데이터베이스 시스템입니다. PostgreSQL은 대중적인 선택이기 때문에 거의 모든 주요 웹 프레임워크에서 지원됩니다. 경쟁 제품인 MySQL 및 SQLite와 마찬가지로 PostgreSQL도 강점과 약점을 가지고 있습니다.

Ruby on RailsRuby로 작성된 인기 있는 웹 프레임워크입니다. 데이터베이스에 구애받지 않는 프레임워크이므로 다양한 데이터베이스와 함께 작동할 수 있습니다. 기본적으로 Rails는 데이터베이스 기능에 SQL을 사용한다고 가정합니다. 하지만 PostgreSQL 통합도 지원합니다.

이 튜토리얼은 Ruby on Rails 애플리케이션을 위한 PostgreSQL 구성 과정을 안내합니다.

Ruby on Rails 및 PostgreSQL

PostgreSQL과 Ruby on Rails는 모두 모든 UNIX/Linux 배포판에서 사용할 수 있습니다. 기본 패키지 서버에서 사용할 수 있어야 합니다.

대안적인 방법은 RVM (Ruby Version Manager)을 사용하는 것입니다. Ruby on Rails 설치를 관리하는 전용 도구입니다. 이 방식의 장점은 RVM이 Ruby on Rails의 로컬 설치를 생성한다는 것입니다. 또한 여러 버전의 Ruby를 관리하고 이들 간에 원활하게 전환할 수 있습니다. 다음은 Ubuntu에서 RVM으로 Ruby on Rails 설치하기.

PostgreSQL의 경우, Ubuntu에서 PostgreSQL 설치 및 구성하기.

  • RVM 설치하기

RVM의 설치 프로세스는 RVM이 제공하는 설치 스크립트 덕분에 매우 간단합니다. 이 스크립트는 Linux 시스템을 자동 감지한 다음 필요한 모든 패키지를 다운로드하고 설치하도록 설계되었습니다. 패키지를 검증하려면 RVM GPG 키가 필요합니다. 이를 통해 수신된 패키지가 위조되지 않았음을 보장합니다. 먼저 RVM GPG 키를 추가합니다:

gpg_recv_keys Ruby on Rails with PostgreSQL

그런 다음 RVM 설치 스크립트를 실행합니다:

install_rvm Ruby on Rails with PostgreSQL

마지막으로 설치를 확인합니다:

verify_install

  • Rails 설치하기

이제 RVM을 사용하여 추가 구성 요소를 설치할 수 있습니다. RVM을 사용하여 Rails 프레임워크를 설치합니다:

gem_install_rails Ruby on Rails with PostgreSQL

  • PostgreSQL 설치하기

다음 단계에서는 시스템에 PostgreSQL이 미리 설치되어 있어야 합니다. 기본적으로 PostgreSQL을 설치하는 가장 쉬운 방법은 기본 패키지 관리자를 사용하는 것입니다. 모든 주요 Linux 배포판에서 사용할 수 있습니다. 사용 가능한 모든 설치 방법은 PostgreSQL 다운로드 페이지를 확인하십시오. Ubuntu에서는 다음 명령어로 PostgreSQL 저장소를 구성하고 바로 설치할 수 있습니다:

postgresql_get

add_postgresql_keys

apt_and_postgresql_update Ruby on Rails with PostgreSQL

PostgreSQL 지원을 활성화하려면 pg gem을 설치해야 합니다. 이를 통해 Ruby 코드에서 PostgreSQL과 인터페이스할 수 있습니다:

gem_install_pg

  • PostgreSQL 구성하기

설치 후 프로젝트에 사용할 도구를 구성합니다. 먼저 PostgreSQL 사용자로 전환합니다:

PostgreSQL 셸에 액세스합니다:

psql Ruby on Rails with PostgreSQL

PostgreSQL 컨텍스트에서 이제 새로운 role (전통적으로 사용자라고 함)을 생성합니다. PostgreSQL은 고유한 형식의 역할 및 권한을 가지고 있습니다. 적절한 사용자 이름과 강력한 비밀번호를 사용하는 것을 잊지 마십시오:

create_role

Rails 앱 생성하기

Rails에게 데이터베이스로 PostgreSQL을 사용하도록 구성된 새 Rails 앱을 생성하도록 지시합니다:

rails_new_dummy_app

이렇게 하면 앱 사용자 이름으로 새 디렉터리가 생성됩니다. Rails는 일반적으로 데이터베이스의 사용자 이름과 앱 이름이 동일할 것으로 예상합니다. 다음 단계는 Rails 데이터베이스 구성을 설정하는 것입니다. 구성 파일은 다음 위치에 있습니다:

파일 database.yml 은 현재 Rails 환경에 적합한 데이터베이스를 설명하는 데이터를 포함하고 있습니다. 파일 이름에서 알 수 있듯이, 이 파일은 YAML을 사용합니다. YAML은 모든 프로그래밍 언어를 위한 인간 친화적인 데이터 직렬화 표준입니다.

기본적으로 Rails는 서로 다른 환경에 대해 서로 다른 데이터베이스를 예상합니다. 예를 들어, development, test, 그리고 production 환경이 있습니다. 이는 다양한 상황에서 유용합니다. 예를 들어, Rails는 Rails 테스트가 실행될 때마다 test 데이터베이스를 비우고 다시 빌드합니다.

다음은 database.yml 파일의 샘플로, developmenttest 데이터베이스를 포함하고 있습니다:

db_yaml

이제 변경 사항을 적용할 시간입니다. 다음 명령은 database.yml에 설명된 필요한 데이터베이스를 준비합니다. 각 데이터베이스는 자체 사용자를 가지며 schema_migrations 테이블을 갖게 됩니다. 이 테이블은 데이터 및 스키마 마이그레이션에 필요합니다:

PostgreSQL 구성 파일인 pg_hba.conf 에 부적절한 구성이 포함되어 있으면 이 단계가 실패합니다. 파일은 다음 위치에 있습니다:

다음 줄이 대상입니다. peer 대신 인증 방법이 md5:

다음 줄을 변경합니다:

pg_hba_conf

변경 사항을 적용하려면 PostgreSQL 서비스를 다시 시작해야 합니다:

그런 다음 데이터베이스 설정을 다시 실행합니다:

rake_db_setup

Rails 실행하기

Rails 서버를 실행하려면 다음과 같은 추가 구성 요소가 필요합니다. 이를 위해서는 Node.js가 설치되어 있어야 합니다 ( yarn):

webpacker_install

이제 Rails 앱을 실행할 준비가 되었습니다. Rails 서버를 시작합니다:

rails_server

다음 URL에서 서버에 액세스할 수 있어야 합니다. Rails 랜딩 페이지로 연결됩니다:

랜딩 페이지를 더 흥미롭게 만들기 위해 스캐폴드(scaffold)를 생성합니다:

create_scaffold

rakedb_migrate

마지막으로 서버를 시작하고 URL로 다시 이동합니다. 이제 게시물을 관리(게시물 생성, 수정, 삭제)할 수 있습니다.

마치며

이것은 PostgreSQL을 사용하는 Ruby on Rails의 기본 설정입니다. Rails를 더 자세히 활용하는 데 도움이 되는 공식 시작 가이드가 있습니다. 우리가 만든 샘플 앱은 PostgreSQL을 사용합니다. 이 방식을 통해 PostgreSQL을 기능에 사용하는 어떤 앱이든 만들 수 있습니다.

즐거운 개발 되세요!

author

Pranay Kapgate

작성자 · CloudSigma

Preslav Dobrev는 CloudSigma의 크리에이티브 디자이너로서, 전통적이고 혁신적인 마케팅 채널을 활용하여 일관된 비즈니스 정체성을 구축하는 데 중점을 두고 있습니다. 그는 영향력 있는 브랜드 내러티브를 창출하기 위해 예술적 비전과 전략적 마케팅을 결합하는 데 능숙합니다.

댓글

아직 댓글이 없습니다. 첫 번째로 작성해 보세요.