우선 기존에 있던 database의 설정을 바꾸기 위해 먼저 ERD부터 그리도록 한다.
순서는 다음과 같다.
1) 기존 데이터베이스 삭제 :
npx sequelize db:drop
2) migrations 작성
3) models 작성
4) 데이터베이스 생성:
npx sequelize db:create
5) migrations로 정의된 테이블 생성:
npx sequelize db:migration
대충 읽어보니 nickname의 foreign key의 관계생성이 제대로 되지 않은 것 같다.
nickname: {
allowNull: false, // NOT NULL
type: Sequelize.STRING,
unique: true,
},
nickname: {
allowNull: false, // NOT NULL
type: Sequelize.INTEGER,
references: {
model: 'Users',
key: 'nickname',
},
onDelete: 'CASCADE',
},
users의 nickname의 type은 string인데 post의 type은 integer로 되어있다. 이 부분을 string으로 바꿔줘야겠다.
바꾼 후 다시 npx sequelize db:migrate 하니
정상적으로 생성되었다!