250x250
Notice
Recent Posts
Recent Comments
- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- Find
- atlas
- https
- til
- Express
- RDS
- sequelize
- wil
- nginx
- EC2
- moment
- await
- flutter
- certbot
- AWS
- mongodb
- findByIdAndDelete
- clipBehavior
- JavaScript
- single quote
- Node.js
- double quote
- css
- Nodejs
- TypeScript
- MYSQL
- jsonwebtoken
- async
- TailwindCSS
- mongoose
Link
Archives
기억 휘발 방지소
Sequelize 설치부터 연결까지 본문
728x90
반응형
Sequelize는 DB 작업을 쉽게 할 수 있도록 도와주는 Node.js ORM이다.
ORM은 Object-Relational Mapping의 약자로 자바스크립트 객체와 관계형 데이터베이스를 서로 연결해주는 도구를 말한다.
✔️ 설치
sequelize, sequelize-cli, mysql2, express를 설치
npm install sequelize sequelize-cli mysql2 express
sequelize-cli는 sequelize 명령어를 실행하기 위한 라이브러리
mysql2는 MySQL과 연결해주기 위한 드라이버
✔️ Init
npx sequelize init
위에 명령어를 실행하면 config, migrations, models, seeders 폴더가 생성된다.
- config: DB 설정 파일로 사용자 이름, DB이름, 비밀번호 등의 정보가 들어있다.
- migrations: 데이터베이스에서 테이블의 컬럼명이 변경되거나 추가되는 등의 변화가 생길 때 그 정보들을 실제 데이터베이스에 반영하거나 취소할 수 있게 해준다.
- models: 데이터베이스에 테이블들을 정의한다.
- seeders: 테이블에 기본 데이터를 넣고 싶은 경우 사용한다.
✔️ 데이터베이스 생성
npx sequelize db:create
config.json에서 설정한 database가 생성된다.
✔️ 연결
const { sequelize } = require("../models/index");
sequelize
.sync({ force: false })
.then(() => {
console.log("DB 연결 성공");
})
.catch((error) => {
console.log("DB 연결 실패");
console.error(err);
});
혹은 async await로 바꿀 수도 있다.
const { sequelize } = require("../models/index");
const dbConnector = async () => {
try {
await sequelize.sync({ force: false });
console.log("DB 연결 성공");
} catch (error) {
console.log("DB 연결 실패");
console.error(error);
}
};
dbConnector();
성공적으로 실행되었을 때
실제 데이터베이스에서 조회했을 때도 테이블이 잘 생성되었다.
728x90
반응형
'Database > ORM' 카테고리의 다른 글
SequelizeDatabaseError - unknown column in 'where clause' 에러 해결 (0) | 2022.02.22 |
---|---|
Sequelize에서 SQL 쿼리 그대로 사용하기 (0) | 2022.02.17 |
Sequelize에서 현재 마이그레이션 되어 있는 DB 테이블 내에 새로운 컬럼 추가하기 (0) | 2022.02.17 |
[Node.js / Sequelize] Sequelize에서 CRUD (2) | 2021.10.07 |
[Node.js / Sequelize] 시퀄라이즈 (0) | 2021.10.06 |