Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- JavaScript
- cookie
- jest
- 자료구조
- nodejs
- Sequelize
- react
- AWS
- TypeScript
- Bull
- Dinosaur
- 공룡게임
- Python
- Queue
- MongoDB
- mongoose
- 정렬
- Nest.js
- class
- game
- typeORM
- OCR
- 게임
- flask
- Express
- nestjs
- MySQL
- GIT
- dfs
Archives
- Today
- Total
포시코딩
[Sequelize] migration을 이용한 Table 속성 변경 방법들 본문
728x90
개요
sequelize를 처음 사용하며 익숙하지 않아 겪는 여러 문제에 대해 직접 해보고 잘 적용된 방법들을 정리한 글
계속 추가될 예정이며 대부분의 기능들은 [공식문서 - queryInterface] 를 통해 직접 참고할 수 있다.
아래 내용들은 모두 migration 파일을 생성하여 진행하는 과정들이며
생성 방법과 실행 방법은 다음과 같다.
생성 방법
npx sequelize migration:generate --name test
실행 방법
npx sequelize db:migrate
컬럼명 변경
/** @type {import('sequelize-cli').Migration} */
module.exports = {
async up (queryInterface, Sequelize) {
await queryInterface.renameColumn('Comments', 'content', 'comment');
},
async down (queryInterface, Sequelize) {
}
};
'content' -> 'comment'
renameColumn('tableName', 'attrNameBefore', 'attrNameAfter')
속성 변경
/** @type {import('sequelize-cli').Migration} */
module.exports = {
async up (queryInterface, Sequelize) {
await queryInterface.changeColumn('Comments', 'deletedAt', {
type: Sequelize.DATE,
allowNull: true
});
},
async down (queryInterface, Sequelize) {
await queryInterface.changeColumn('Comments', 'deletedAt', {
type: Sequelize.DATE,
allowNull: false,
});
}
};
deletedAt의 NOT NULL 속성을 Nullable하게 바꿔주는 방법
type 명시를 해야 migrate할 때 에러나지 않는다.
속성 제거
/** @type {import('sequelize-cli').Migration} */
module.exports = {
async up (queryInterface, Sequelize) {
await queryInterface.removeColumn('테이블명', '제거할_컬럼명', {});
},
async down (queryInterface, Sequelize) {}
};
728x90
'Node.js' 카테고리의 다른 글
[Sequelize] SQL 쿼리(Raw Query) 그대로 사용하기 - Sequelize.query (0) | 2022.12.23 |
---|---|
[Sequelize] createdAt, updatedAt 컬럼 없는 테이블 다루기 (0) | 2022.12.22 |
[Sequelize] 이미 생성한 테이블의 컬럼 속성 변경하기 (0) | 2022.12.22 |
[Sequelize] FK(Foreign Key) 설정하기 (0) | 2022.12.21 |
[Sequelize] config 파일에서 dotenv를 읽지 못하는 문제 (0) | 2022.12.21 |