dbmate로 데이터 수정하기

김한솔·2022년 11월 3일
0

dbmate를 이용해서 mysql에 있는 westagram 데이터 베이스에 테이블을 추가 했는데 추가로 필요한 column이 생겨서 어떻게 업데이트를 할 수 있을 지 알아보았다.

지금은 실제로 서비스 되고 있지 않기 때문에 dbmate down명령어를 이용해서 table을 지우고 아래 코드에 한줄 추가하면 되지만 실제 서비스 되고 있는 db를 그런식으로 업데이트 할 수는 없기 때문에 다른 방법이 필요했다.

-- migrate:up
CREATE TABLE posts
(
  id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
  title VARCHAR(100) NOT NULL,
  content VARCHAR(2000) NULL,
  user_id INT NOT NULL,
  created_at TIMESTAMP NOT NULL DEFAULT NOW(),
  FOREIGN KEY (user_id) REFERENCES users (id)
);

-- migrate:down
 DROP TABLE posts;

방법은 생각보다 간단했다.
dbmate new 명령어로 migrations파일을 하나 만들어 주고

dbmate new create_posts_update

만들어진 migrations파일에 테이블 column 추가 명령어를 넣어주고 다시 dbmate up을 통해 mysql에 있는 테이블을 수정해준다.

ARTER TABLE posts ADD image_url VARCHAR(50) NULL;

dbmate up
profile
개린이입니다.

0개의 댓글