순서대로 정리한 서버 환경세팅
npm init -y
package.json을 만들어준다. -y
명령어로 기본 설정이 적용된다.
dependencies, devDependencies 설치
sequelize로 데이터베이스 연결 및 테스트
npm install --save-dev sequelize-cli
const { Sequelize } = require("sequelize");
require("dotenv").config();
const sequelize = new Sequelize(
process.env.DB_NAME,
process.env.DB_USER,
process.env.DB_PASS,
{
host: process.env.DB_HOST,
dialect: "mysql",
logging: console.log,
logging: (...msg) => console.log(msg),
}
);
const testConnection = async () => {
try {
await sequelize.authenticate();
console.log("successfully connected");
} catch (error) {
console.log("unalbe to connect to the database", error);
}
};
testConnection();
sequelize cli로 폴더 생성 및 파일 수정
npx sequelize-cli init
config, models, migrations, seeders가 생성된다
모델 만들기
npx sequelize-cli model:generate --name User --attributes email:string,nickname:string,salt:string,password:string,isOauth:boolean,isAdmin:boolean
npx sequelize-cli model:generate --name Post --attributes hostId:integer,guestId:integer,reserved_at:date,isMatched:boolean,location:json,description:json
npx sequelize-cli model:generate --name Chat --attributes authorId:integer,roomId:integer,content:string
npx sequelize-cli model:generate --name Thumbsup --attributes postId:integer,giverId:integer,receiverId:integer
npx sequelize-cli model:generate --name Issue --attributes postId:integer,reporterId:integer,targetId:integer,content:string
만들어진 migrations와 models 파일들 수정하기
(defaultValue 등 추가)
마이그레이션 npx sequelize-cli db:migrate
만들어둔 모델(테이블)이 데이터베이스에 생성된다.
추가 변경사항
npx sequelize-cli init
를 통해 생성된 config폴더 안의 config파일이 config.json이어서 config.js로 변경하고, export시켜주었다.
그리고 models폴더 안의 index.js파일에서 config객체를 불러올때, 파일 경로도 config.json에서 config.js로 수정해주었다.