Ruby on Rails & Modeling

Ruby Legacy

DRY (Don't Repeat Yourself)

  • 자기 자신을 반복하지 말자

COC (Convention Over Configuration)

  • 설정보다 규약이 중요하다

  • Modeling: 데이터베이스를 설계하는 일련의 과정

Dependency

  • What if? 만약 유저가 탈퇴를 해서 주문 정보가 사라진다면:
    • 테이블에서 같이 삭제
    • user_id (외래키)만 빈 값으로 바꿔줄 수 있음
  1. Destroy
    • 테이블에서 삭제
    • 모델링 시 실선으로 표기
  2. Nullify
    • 참조하는 외래키를 빈 값으로 바꿔줌
    • 모델링 시 점선으로 표기
rails db:create
# 데이터베이스를 생성, 마이그레이션 파일을 디비에 넣고 시드 파일을 데이터베이스에 넣는 명령어

rails generate model Item 
rails g model Item
# 모델 추가

rails db:migrate
# 데이터베이스 마이그레이션
  • 데이터베이스 마이그레이션: 개별 데이터베이스 파일을 데이터베이스에서 실행하지 않고 프레임워크의 특정 명령어를 실행하고 그 결과를 별도의 테이블로 관리하는 것
  • schema.rb 파일에서는 절대 수정하지 말 것
  • 마이그레이션 파일을 만들어서 해당 파일에서만 수정
  • foreign key: 외부 테이블 정보를 끌어오기 위한 것
  • 모델을 짤 때 dependency가 nullify일 경우는 null: false를 삭제

좋은 웹페이지 즐겨찾기