npm i sequelize mysql2 -S
npm i sequelize-cli -D
sequelize
는 우리가 Node.js 에서 sequelize를 사용할 수 있게 해요mysql2
는 Node.js 에서 Sequelize를 이용해 MySQL을 더욱 쉽게 조작할 수 도록 도와주는 패키지에요sequelize-cli
는 우리가 Sequelize를 조금 더 쉽게 사용하도록 도와주는 도구를 설치하는 명령어예요npx sequelize init
development, test, production 3개의 키가 존재할텐데 우린 지금은 development 안에 있는 내용만 수정
// config/config.json
{
"development": {
"username": "root",
"password": "비밀번호",
"database": "database_development",
"host": "express-database.cqif5bxbzyvd.ap-northeast-2.rds.amazonaws.com",
"dialect": "mysql"
},
"test": {
"username": "root",
"password": null,
"database": "database_test",
"host": "127.0.0.1",
"dialect": "mysql"
},
"production": {
"username": "root",
"password": null,
"database": "database_production",
"host": "127.0.0.1",
"dialect": "mysql"
}
}
password가 null 이던것을 AWS RDS에서 설정한 마스터 암호로 바꿔주고, host도 rds의 엔드 포인트로 바꾸어 줌. 이렇게 해야 우리가 대여한 데이터베이스 서버에 Sequelize를 이용해 접속할 수 있습니다.
지금 우리는
development
를 수정해서 사용하지만, 여러 가지 환경 별로 db연결할 때 나머지test
,production
부분도 바꾸어서 사용가능
npx sequelize db:create
//(NODE_ENV=test npx sequelize db:creste하면 test에 설정된 값으로 생성가능)
지금 언급하는 데이터베이스 는 일반적으로 "DB 서버" 또는 "데이터베이스"라고 부르는 MySQL 서버와는 다른 MySQL이 정의해둔 가상의 개념입니다.
하나의 서버에 여러개의 가상의 데이터베이스를, 데이터베이스 안에 여러개의 테이블을 생성해서 관리하는 방식.
=> "database_development"
생성됨(위에서 지정해둔 이름으로 생성)
정리하자면 1개의 MySQL 서버 안에 n개의 데이터베이스가 존재할 수 있고,
1개의 데이터베이스 안에 n개의 테이블이 존재할 수 있습니다.