[DB] 1st Week 데이터베이스 모델링

SammyJung·2021년 5월 21일
2

2차 프로젝트가 끝나고, 인썸니아 기업에서 기업협업을 한 달간 진행하게 되었다!

백엔드에 대한 벽을 언젠가는 넘어야겠다고 생각했었는데, 생각보다 빨리 맞닥드리게 되었다.

빠밤!그렇게 윈도우에 우분투를 설치하고 루비온레일즈를 설치하고!! 조그만한 산들을 넘어 프로젝트를 시작했다!

DB 모델링

1주차에 데이터베이스 모델링을 하고 리뷰 받은 내용을 정리해보려 한다.


모델링을 할 때 원래 AQueryTool을 원래 썼었다가 DB 다이어그램이라는 ERD툴을 알게되었다.
장점은 기존의 코드를 import하여 테이블 형태로 보기 쉽게 바꿔준다는 것이다!

특히 루비온레일즈를 쓰면서 schema.rb파일을 바로 올려서 확인 할 수 있었다!

마우스를 호버 했을 때 일대일 관계 일대다 관계 다대다 관계를 볼수 있는 장점도 있다.

아쉬운 점은 호버하지 않았을 때는 화살표 방향이 없어서 테이블 별로 확인 해야하지만 단점보다는 장점이 많아서 한번 써보는 것을 추천하고 싶다!

https://dbdiagram.io/d

DB 설계와 리뷰

가장 쉽게 테이블들의 구조를 확인 할 수 있는 방법은 shema.rb파일을 보는 것이다.

첫줄에는 버전: 마지막으로 migrate된 시점이 기록되어있다.

테이블에서 컬럼명과 타입을 수정하거나 추가하고자 할때 직접 수정하지 않고, 마이그레이션 파일을 생성하여 수정해야한다.

rails g migration create_options

(수정하는 내용을 간단하게 create,change, add,remove등의 컨벤션으로 작성)한다.

이런식으로 타입과 컬럼명을 넣어준다.
그리고 아이템은 옵션 입장에서 필수 값이기 때문에 null:false조건을 추가해 주어야 한다.
필수가 아닐때는 null:true가 된다.

migrate파일 작성이 끝나면 터미널에서 rails db:migrate를 한다.

그러면 스키마에 버전의 타임 스탬프가 바뀐 것을 확인 할 수 있다.

타임스탬프를 확인하여 rollback 할 수도 있는 부분이니 잘 확인 해야한다.

1주차 리뷰 사항

1. 컬럼 네이밍 컨벤션을 지키자

orders 테이블에서 어떤 컬럼은 _ 어떤 컬럼은 그냥 되어있는 것이 있었다.
postgresql DB컨벤션 지켜서 수정필요

- 대문자 쓰지 않고, 컬럼명은 대문자 안쓰고 _ 로 연결, 외래키는 단수로!

2. 나의 질문내용

한 달 프로젝트에 구현해야하는 기능들이 많은데 어떻게 스케줄링을 해야할지? 현업에서 어떻게 스케줄링을 하는 지 궁금합니다!

스케줄링은 디테일하게 짜지 말고 아이템 리스트 먼저 구현 해보고 추가 적인 것 해보는 것이 좋다

기본적으로 상거래 앱이기 때문에 우선순위를 정해서 상품을 고르고 결제하는 것 먼저 우선 순위로 잡고 진행하는 것이 좋다!
예를 들어 찜 좋아요 하는 부가적인 기능. 상거래 앱에 집중해서 우선순위로 해서 구현한다.
막바지에 기능구현을 추가하기 보다는 UI 깔끔하게 한다던지 완벽하게 동작하는 하나의 앱을 만드는 것이 좋다.

백엔드 개발을 시작하면서 첫 주차에 진입장벽이 높게 느껴져서 힘들게 느껴지곤 했는데,그래도 점점 익숙해지면서 데이터 모델링과 코딩의 재미를 다시 느낄 수 있는 순간들이 있었던 것 같다!

화이팅!

profile
안녕하세요! 프론트엔드 개발자 새미입니다:D

0개의 댓글