TIL : Lv3 database SQL 수정

ESH'S VELOG·2023년 6월 23일
0

우선 기존에 있던 database의 설정을 바꾸기 위해 먼저 ERD부터 그리도록 한다.

순서는 다음과 같다.
1) 기존 데이터베이스 삭제 :

npx sequelize db:drop

2) migrations 작성
3) models 작성
4) 데이터베이스 생성:

npx sequelize db:create

5) migrations로 정의된 테이블 생성:

npx sequelize db:migration

error 발생


대충 읽어보니 nickname의 foreign key의 관계생성이 제대로 되지 않은 것 같다.

migrations - users

nickname: {
        allowNull: false, // NOT NULL
        type: Sequelize.STRING,
        unique: true,
      },

migrations - posts

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 하니

정상적으로 생성되었다!

profile
Backend Developer - Typescript, Javascript 를 공부합니다.

0개의 댓글