서버/nodejs

Sequelize 사용 기록 - 01

설치에 대한 설명은 생략하겠다.

 

1.  Model 생성(migration 파일 생성)

$ npx sequelize-cli model:generate --name User --attributes firstName:string,lastName:string,email:string

 

2.  Migrate

$ npx sequelize-cli db:migrate

(취소) npx sequelize-cli db:migrate:undo

 

3. Update a column ( 본인의 경우 unique 설정)

    1) $npx sequelize-cli migration:create --name migration_file_name

    2) 해당 파일 변경

     await queryInterface.changeColumn('Users', 'email', { 
        type: Sequelize.STRING,
        allowNull: false,
        unique: true, 
      });

※반드시 "type"이 포함되어야 한다. 아니면 에러가 발생한다.

 

    3) $npx sequelize-cli db:migrate

    4) model(models/user.js) 파일 수정

 

    참고 링크(sequelize-cli를 사용)

    dev.to/adefam/create-update-add-and-delete-sequelize-migration-eoa

 

CREATE, UPDATE, ADD and DELETE SEQUELIZE MIGRATION

Did you have an existing sequelize that you wish to make changes like adding more columns, delete or...

dev.to

 

4. Create (=insert)

   

  try {
    const result = await db.Users.create({
          email: userEmail,
          uid: uid,
          nickname: nickname
    })
      res.status(200).json({"message": "가입 성공"});

  } catch (e) {
    res.status(401).json({"message": "중복되는 정보라 실패"});
  }

※하찮은 실수 정리 : res.status(401) -> res객체 status값에 "401"이 들어가기 "만" 함. 

                           res.status(401)만 적으면 상대측에서 응답을 받을 수 없음.(대기 중이기 때문)

                           그렇기 때문에 뒤에 json을 붙여서 전송 시켜줘야 한다.

                           (이 증상을 오류로 착각하여서 먼길 돌아감)

 

    참고 링크(sequelize를 사용한 CRUD)

    helloinyong.tistory.com/108    

 

[2019.05.07] Sequelize - 조회,삽입,수정, 삭제 사용법

# 각 시퀄라이즈 쿼리 사용법 # 조회 - findOne(All) const models = require('./database/models'); /* 특정 데이터만 조회 */ const getOneUser = async() => { const id = 1; const user = await models.Users..

helloinyong.tistory.com