jm_p_op

DB - sequelize-cli : DB-update 본문

Node.js/Express

DB - sequelize-cli : DB-update

jm_p_op 2024. 4. 14. 21:52
module.exports = {
  async up (queryInterface, Sequelize) {
    await Promise.all([
      queryInterface.addColumn("Users","test3",{
      type: Sequelize.STRING
    }),
    queryInterface.addColumn("Users","test4",{
      type: Sequelize.STRING})])
  	}
  }
  • Promise.all([행동1,행동2,...]) - 행동1,행동2.. 실행, 여러개 변동시 사용
  • queryInterface.renameColumn('table','before_column','after_column') : 칼럼명 변동
  • queryInterface.addColumn('table','column',{조건}) : 조건을 만족하는 칼럼 추가
  • queryInterface.changeColumn('table','column',{조건},{Transaction}) : 칼럼 조건 변동
    • 조건 - type:'INTEGER USING CAST("test3" as INTEGER)'  : string 을 int로 바꿀때 사용
  • queryInterface.sequelize.query('쿼리문') : 쿼리문으로 실행

allowNull: true -> false

'use strict';

const { Query } = require('pg');
const { Transaction, QueryTypes } = require('sequelize');

/** @type {import('sequelize-cli').Migration} */
module.exports = {
  async up (queryInterface, Sequelize) {
    return Promise.all([queryInterface.sequelize.query(`
    UPDATE public."Users"
    SET test1 = ''
    WHERE test1 is null;
    `),
      queryInterface.changeColumn('Users','test1',{
        defaultValue:"메롱",
        allowNull:false,
    type:Sequelize.STRING},{Transaction}
      )
    ])
  	}
  }

'Node.js > Express' 카테고리의 다른 글

DB 보안 - 해시 함수,hash 공격,salt,password 암호화  (0) 2024.04.22
CRUD  (0) 2024.04.18
DB - sequelize:up,down  (0) 2024.04.14
DB - seed 주의점2  (0) 2024.04.14
queryinterface 종류  (0) 2024.04.14