inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[리뉴얼] React로 NodeBird SNS 만들기

쿠키/세션과 전체 로그인 흐름.

시퀄라이즈에서 마이그레이션 폴더

313

원피스를 찾아서

작성한 질문수 77

2

npx sequelize init으로 만들어진 폴더 중 마이그레이션 폴더의 
역할 및 마이그레이션뜻이 궁금합니다.

구글링을 해도 막 와 닿지 않네요 ....

어떤식으로 쉽게 이해하면 될까요?

Next.js react redux express nodejs

답변 8

1

제로초(조현영)

나중에 테이블 컬럼을 변경하거나 추가/제거할 때 models 안에 파일을 바꾼다고 그대로 반영되지 않습니다. migrations를 통해서 실제 테이블을 변경해주어야 DB에 반영됩니다. migrations 문서를 작성해두면 좋은게 나중에 문제가 생겼을 때 롤백을 할 수 있습니다.

0

원피스를 찾아서

thanks zero!

0

제로초(조현영)

네 한번에 다 하려면 db:migrate:all이었던 것 같고 롤백하려면 db:migrate:undo였던 것 같네요.

0

원피스를 찾아서

답변 감사합니다.

마지막 질문으로 마이그레이션을 진행된다는게  db:migrate 로 마이그레이션을 실행하면 되나요??

0

제로초(조현영)

마이그레이션 폴더 안에 저런 파일들을 만드는 거고요. 마이그레이션 폴더에 기록은 남지 않습니다.

마이그레이션 폴더 안에 파일들을 보고 마이그레이션이 진행됩니다. 진행 후에는 직접 models를 수동으로 수정도 해줘야합니다.

0

원피스를 찾아서

마이그래이션 폴더로 이전상태로 변경하거나 수정사항을 변경한다고 생각하면 될까요?

찾아보니 마이그레이션을 실행시키면 마이그레이션 폴더에 기록이 남는다고 하는데 잘못 이해하고 있는건가요?

0

제로초(조현영)

const fs = require('fs');
const parse = require('csv-parse/lib/sync');

module.exports = {
up: (queryInterface, Sequelize) => {
/*
Add altering commands here.
Return a promise to correctly handle asynchronicity.

Example:
return queryInterface.createTable('users', { id: Sequelize.INTEGER });
*/
queryInterface.addColumn(
'male_lower_input_items',
'korean',
{
type: Sequelize.STRING(20),
allowNull: true,
comment: '한글 브랜드명',
},
)
.then(() => {
const text = fs.readFileSync('lower_item.csv');
const records = parse(text.toString('utf-8'));
return Promise.all(records.map(record => (
queryInterface.sequelize.query(
`
UPDATE male_lower_input_items
SET korean = :korean
WHERE code = :code
`,
{
replacements: {
code: record[7],
korean: record[9],
},
},
)
)));
});
},

down: (queryInterface) => {
/*
Add reverting commands here.
Return a promise to correctly handle asynchronicity.

Example:
return queryInterface.dropTable('users');
*/
queryInterface.removeColumn(
'male_lower_input_items',
'korean',
);
},
};

이렇게 작성해놓으면 up 호출하면 마이그레이션을 진행하고, down을 호출하면 롤백됩니다.

0

원피스를 찾아서

migrations를 통해서 실제 테이블을 변경해주어야 DB에 반영됩니다. 

이렇게 말씀을 하셨는데 예를들면 어떤식으로 되어있는건가요??

넥스트 버젼 질문

0

77

2

로그인시 401 Unauthorized 오류가 뜹니다

0

89

1

무한 스크롤 중 스크롤 튐 현상

0

175

1

특정 페이지 접근을 막고 싶을 때

0

103

2

createGlobalStyle의 위치와 영향범위

0

96

2

인라인 스타일 리렌더링 관련

0

91

2

vsc 에서 npm init 설치시 오류

0

146

2

nextjs 15버전 사용 가능할까요?

0

158

1

화면 새로고침 문의

0

121

1

RTK에서 draft, state 차이가 있나요?

0

153

2

Next 14 사용해도 될까요?

0

452

1

next, node 버전 / 폴더 구조 질문 드립니다.

0

349

1

url 오류 질문있습니다

0

211

1

ssh xxxxx로 우분투에 들어가려니까 port 22: Connection timed out

0

372

1

sudo certbot --nginx 에러

0

1274

2

Minified React error 콘솔에러 (hydrate)

0

470

1

카카오 공유했을 때 이전에 작성했던 글이 나오는 버그

0

247

1

프론트서버 배포 후 EADDRINUSE에러 발생

0

327

1

npm run build 에러

0

518

1

front 서버 npm run build 중에 발생한 에러들

0

381

1

서버 실행하고 브라우저로 들어갔을때 404에러

0

338

2

css 서버사이드 랜더링이 적용되지 않아서 문의 드립니다.

0

287

1

팔로워 3명씩 불러오고 데이터 합쳐주는걸로 바꾸고 서버요청을 무한으로하고있습니다.

0

238

2

해시태그 검색에서 throttle에 관해 질문있습니다.

0

201

1