ruby on rails - 실습 세팅편(1)

아카이브 · 2021. 6. 3. 22:31

새로운 레일즈 프로젝트 만들기

만약 rails가 설치 되지 않았을 경우에는 루트 사용자로 접속해서 아래명령어를 통해 rails를 설치 합니다.

sudo gem install rails

만약 위명령어 설치도중 오류가 발생한다면 xcode를 확인하세요. (설치 명령어 -  sudo xcode-select --install)

어플리케이션 만들기

저는 프론트를 별도로 설정할것이기 때문에 --api를 붙여서 Rest api의 역할을 할 수 있게 어플리케이션을 만들어줍니다.

rails new post --api

해당 어플리케이션이 만들어지면 아래 명령어를 통하여 진입합니다.

cd post

어플리케이션이 제대로 만들어졌나 확인을 하기 위해서 해당 파일을 확인해 보겠습니다.

post/app/controllers/application_controller.rb

class ApplicationController < ActionController::API
end

::API가 붙은게 보이면 잘 만들어진겁니다.

 

데이터베이스 설정

별도의 인스턴스에 postgresql을 설치해 놓았기 때문에 해당 인스턴스의 db를 연결하겠습니다.

config/database.yml

default: &default
  adapter: postgresql
  host: <%= ENV["DB_HOST"] %>
  port: 5432
  encoding: utf8
  sslmode: allow
  database: <%= ENV["DB_NAME"] %>
  pool: 5
  username: <%= ENV["DB_USER"] %>
  password: <%= ENV["DB_PASSWORD"] %>

development:
  <<: *default

test:
  <<: *default

production:
  <<: *default

위 이미지처럼 데이터베이스 세팅을 진행하면됩니다.

default로 postgresql을 지정해주고 development, test, productions 3개의 환경 모두에 상속해줍니다.

host, database, username, password는 환경변수를 통해서 관리하겠습니다.

 

환경변수 세팅

먼저 gemfile에 아래의 아래의 패키지를 등록해줍니다.

gem 'figaro'
gem "pg"

그후 아래처럼 명령어를 통해 해당 번들을 다운로드 합니다.

bundle install

 

 

bundle exec figaro install

위 명령어를 입력하면  config  폴더에  application.yml  파일과 루트폴더 위치에  .gitignore  파일이 새로 생성됩니다.

 

설치된 application.yml에 아래 이미지처럼 환경변수를 입력해줍니다.

DB_HOST: <hostname>
DB_USER: admin
DB_PASSWORD: password
DB_NAME: db_name

 

자 이제 서버를 구동해보겠습니다. 아래명령어를 통해서 서버를구동해줍니다.

rails server 

http://127.0.0.1:3000/ 해당 url에 진입했을때 아래의 이미지가 뜬다면 올바르게 데이터베이스가 세팅된겁니다.