일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- Batch
- gcp
- 파이썬
- 웹해킹
- gcp ci/cd
- 리버싱
- 보안
- 포너블
- node.js
- Python
- 회고
- Baekjoon
- pwnable.xyz
- 백준
- 스프링 배치
- spring Batch
- docker
- webhacking.kr
- cloud run
- gcp cloud build
- 시스템 해킹
- 웹보안
- programmers
- kotest
- 사이버보안
- sequelize
- nodejs
- 프로그래머스
- hackctf
- 네트워크
Archives
uju's Tech
[Node.js : Sequelize] SQLITE_ERROR: Cannot add a UNIQUE column - 개발 회고 본문
Node
[Node.js : Sequelize] SQLITE_ERROR: Cannot add a UNIQUE column - 개발 회고
ujusy 2020. 7. 17. 13:14<본 포스팅은 공부목적으로 작성되었습니다. 혹시 틀린 부분이 있거나 문제가 되는 부분이 있다면 답글 달아주세요!>
이미 존재하는 테이블에 칼럼을 하나 추가해야하는 작업이 필요해졌다.
먼저 db 마이그레이션과 칼럼 추가를 위해
./node_modules/.bin/sequelize migration:generate --name [파일명]
을 통해 작성해준다.
추가해야할 칼럼이 유니크 해야하기 때문에 unique : true로 설정해주었다.
module.exports = {
up: async (queryInterface, Sequelize) => {
await queryInterface.addColumn('테이블 명', '추가할 칼럼 명', {
allowNull: true,
defaultValue: null,
type: Sequelize.UUID,
unique: true,
});
},
down: async (queryInterface) => {
await queryInterface.removeColumn('테이블 명', '추가할 칼럼 명');
},
};
위와 같이 작성해주고 db 마이그레이션을 해보았는데..
왜인걸,,?
error가 발생했다.
SQLITE_ERROR: Cannot add a UNIQUE column
해결을 어떻게 해야할까?
[solved]
1. addColumn으로 칼럼을 추가한다.
2. addIndex로 앞서 추가한 칼럼에 유니크 설정을 해준다.
1.addColumn
module.exports = {
up: async (queryInterface, Sequelize) => {
await queryInterface.addColumn('테이블 명', '추가할 칼럼 명', {
allowNull: true,
defaultValue: null,
type: Sequelize.UUID,
});
},
down: async (queryInterface) => {
await queryInterface.removeColumn('테이블 명', '추가할 칼럼 명');
},
};
2.migration 해주기
3.addIndex
module.exports = {
up: async (queryInterface) => {
await queryInterface.addIndex('테이블 명', ['칼럼명'], {
unique: true,
});
},
down: async (queryInterface) => {
await queryInterface.removeIndex('테이블 명', ['칼럼명']);
},
};
4.migration 해주기
sequelize-cli db:migrate
sequelize-cli db:migrate:undo
를 통해 롤백 확인하였다.
'Node' 카테고리의 다른 글
[Node.js : Sequelize] many to one 관계 (0) | 2020.07.29 |
---|---|
[Node.js : Sequelize] Mysql 버전이 json타입을 지원하지 않을 때 (0) | 2020.07.18 |
[Node.js/Sequelize] group by를 이용하여 상태별로 count 출력 - 개발 회고 (0) | 2020.07.16 |
[Node.js] json data 객체 안에 객체 배열 추가하기 (0) | 2020.07.06 |
[Node.js]Mocha를 이용해서 간단한 Test 해보기 (0) | 2020.07.06 |
Comments