https://github.com/ZeroCho/nodejs-book/tree/master/ch9/9.1/nodebird
models/user.js: 사용자 테이블과 연결됨
provider: 카카오 로그인인 경우 kakao, 로컬 로그인(이메일/비밀번호)인 경우 local
snsId: 카카오 로그인인 경우 주어지는 id
models/post.js: 게시글 내용과 이미지 경로를 저장(이미지는 파일로 저장)
models/hashtag.js: 해시태그 이름을 저장(나중에 태그로 검색하기 위해서)
모델들을 models 폴더에서 자동으로 불러옴(readdirSync)
모델 간 관계가 있는 경우 관계 설정
User(1):Post(다)
Post(다):Hashtag(다)
User(다):User(다)

1대다: hasMany와 belongsTo
다대다: belongsToMany
foreignKey: 외래키
as: 컬럼에 대한 별명
through: 중간 테이블명

다대다 관계이므로 중간 테이블(Follow) 생성됨
모델 이름이 같으므로 구분 필요함(as가 구분자 역할, foreignKey는 반대 테이블 컬럼의 프라이머리 키 컬럼)
시퀄라이즈는 as 이름을 바탕으로 자동으로 addFollower, getFollowers, addFollowing, getFollowings 메서드 생성

시퀄라이즈 설정은 config/config.json에서
개발환경용 설정은 development 아래에

설정 파일 작성 후 nodebird 데이터베이스 생성

IF NOT EXIST(SQL문)으로 테이블이 없을 때만 생성해줌

