나의 발자취

앱 제작 과정 (6) DB setup 완료, seed data 넣기 완료 본문

프로젝트

앱 제작 과정 (6) DB setup 완료, seed data 넣기 완료

달모드 2024. 11. 20. 11:22

드디어 back and forth 를 하며 모델-마이그레이션-시드 과정 중에서 하나라도 오류를 발견하면 연쇄적으로 고쳐서 이제 거의 에러가 없는 부분을 다 고쳤고,,seed 데이터를 다시 지웠다가 집어넣었다가 하는 과정에서 sequelizer 의 sequence 테이블에 의해 예전에 부여되었던 PK의 id 이후의 번호부터 넘버링되기 때문에 또 이를 위한 과정도 진행해야했다.

 

아래 과정을 정말 반복했다.

 

  1. (psql 접속 상태에서) 마이그레이트 지우기 
DO $$ DECLARE
    r RECORD;
BEGIN
    FOR r IN (SELECT tablename FROM pg_tables WHERE schemaname = 'public') LOOP
        EXECUTE 'DROP TABLE IF EXISTS ' || quote_ident(r.tablename) || ' CASCADE';
    END LOOP;
END $$;

 

2. 마이그레이션 실행
 npx sequelize-cli db:migrate

 

3. (psql 접속 상태에서) 순차적으로 하는거 초기화 

TRUNCATE TABLE "BalanceVotes", "Categories", "ChallengeImages", "ChallengeParticipations", "Challenges", "Comments", "Likes", "Messages", "PostImages", "Posts", "Reports", "Rewards", "Users" RESTART IDENTITY CASCADE;

 

 

4. 시드 데이터 다 적용
npx sequelize-cli db:seed:all

 

5. 안된건 따로 적용

npx sequelize-cli db:seed --seed 20241116082809-demo-message.js

npx sequelize-cli db:seed --seed 20241116082810-demo-postImage.js

npx sequelize-cli db:seed --seed 20241116082811-demo-report.js

npx sequelize-cli db:seed --seed 20241116082812-demo-reward.js

npx sequelize-cli db:seed --seed 20241116082813-demo-balanceVote.js

 

 

테이블마다 정상적으로 다 채워진 모습을 보니 이제 클라우드 스토리지로 옮기는 작업을 향후 해야겠단 생각.

Comments