-
[2019.09.24] 오늘의 TIL - must be owner of table (postgresql sequelize migration error)개발 블로깅/오늘의 TIL 2019. 9. 25. 09:32
우선 나는 시퀄라이즈가 전역 설치로 되어있다.
# you have to install pg package
테이블 칼럼의 변경사항이 생겨서 sequelize-cli을 이용해서 migration 작업을 하기위해 아래와 같이 명령어를 사용했다.
sequlize db:migrate
그러나 아래와 같은 에러 메세지가 나타났다.
you have to install pg package
뭔지 모를 pg를 설치하라고 하는데, 우선 로컬 설치 전역설치 둘 다 해보았다. 그래도 여전히 pg를 설치하라고 한다.
구글링 결과, 전역 설치된 sequalize를 사용하지 말고, 프로젝트 로컬로 설치해서 로컬 라이브러리에 내장되어있는 cli을 사용하라고 한다.
그래서 아래와 같이 사용했다.
.node_moudules/.bin/sequelize db:migrate
pg를 계속 설치하라는 에러는 해결을 했다.
# must be owner of table
그러나 바로 다음 문제가 또 발생했다.
must be owner of table '테이블명'
아마 덤프하면서 데이터베이스의 owner가 트레바리의 ID로 되어있기 때문에 그런 듯 했다.
그래서 해당 데이터베이스의 owner를 root로 변경하려고 아래와 같이 DB의 owner를 변경하는 명령어를 입력했다.
# alter table DB명 owner to root
그러나 아래와 같은 에러메세지가 반환이 된다.
must be member of role "root"
뭐지...? 찾아봐도 이를 해결한 방법이 보이지가 않는다.
이때, 스쳐 지나가듯 지금 DB ssh 접속을 한 계정이 root가 아닌 트레바리인 것이 생각이 났다.
루트로 들어가서 다시 시도를 해 봤다.
변경이 되었다.
그리고 이제 migration이 될 것이라 확신하고 시도를 해 봤다.
되지않는다. 여전히 아래와 같은 메세지가 나온다.
must be owner of table '테이블명'
owner를 변경했는데, 계속 owner이어야 한다고 한다...도저히 원인도 모르겠고 해결 방안을 찾을 수가 없었다.
그만 포기를 하려던 찰 나, 갑작스레 백엔드 코드의 db config.js 파일이 생각이 났다.!
역시나 user가 트레바리로 되어있다. 이 부분을 root변경 후 migrate를 해 봤다..
된다!!!
반응형'개발 블로깅 > 오늘의 TIL' 카테고리의 다른 글
[2019.10.11] Mac 터미널로 VScode 여는 'code' 명령어를 영구적용 시키는 법 (1) 2019.10.11 [2019.10.03] 오늘의 TIL - 같은 class의 특정 태그에만 Style을 다르게 적용시키기 (0) 2019.10.03 [2019.09.13] git stash 사용법 - 현재 상태를 저장해보자 (0) 2019.09.13 [2019.09.05] 오늘의 TIL - MacOS의 $path 값을 되돌리는 법 (0) 2019.09.05 [2019.09.03] 오늘의 TIL - 여러 항목을 나열하는 방식에 대해. (0) 2019.09.03