jm_p_op
DB-migration 본문
- migration,model 파일생성
- npx sequelize-cli model:generate --name {table명} --attributes {Column명}:{type},email:string
- DB에 migration파일 적용/되돌리기
- npx sequelize-cli db:migrate
- npx sequelize-cli db:migrate:undo
- migration파일 생성
- npx sequelize migration:create --name {migration파일명}
- seed data 파일 생성
- npx sequelize-cli seed:generate --name {seed파일명}
- seed data 생성,취소
- npx sequelize-cli db:seed:all
- npx sequelize-cli db:seed:undo
migrations/파일
'use strict';
/** @type {import('sequelize-cli').Migration} */
module.exports = {
async up(queryInterface, Sequelize) {
await queryInterface.createTable('Users', {
id: {
allowNull: false,
autoIncrement: true,
primaryKey: true,
type: Sequelize.INTEGER
},
firstName: {
type: Sequelize.STRING
},
//여러 설정
calumn_name: {
type: Sequelize.INTERGER
}
});
},
async down(queryInterface, Sequelize) {
await queryInterface.dropTable('Users');
}
};
seeders/파일
- list에 여러 데이터 넣어서 한번에 추가 가능
'use strict';
module.exports = {
up: (queryInterface, Sequelize) => {
return queryInterface.bulkInsert('Users', [{
firstName: 'John',
lastName: 'Doe',
email: 'demo@demo.com',
createdAt: new Date(),
updatedAt: new Date()
},{
firstName: 'John2',
lastName: 'Doe2',
email: 'demo2@demo.com',
createdAt: new Date(),
updatedAt: new Date()
}], {});
},
down: (queryInterface, Sequelize) => {
return queryInterface.bulkDelete('Users', null, {});
}
};
참고자료
'Node.js > Express' 카테고리의 다른 글
queryinterface 종류 (0) | 2024.04.14 |
---|---|
DB - seed 주의점 (0) | 2024.04.12 |
DB - Postgre (0) | 2024.04.05 |
Router, RESTful API, 계층화 전략 (0) | 2024.04.04 |
프레임워크 Express, 가상환경 nodeenv, git ignore (0) | 2024.04.01 |