Skip to content

[BE] 2024.11.05 회의록

sieun edited this page Nov 8, 2024 · 1 revision

typeORM vs Sequelize

🖥️ 코드 스타일

쿼리문 1 User 모델 생성

// sequelize
const { Sequelize, DataTypes } = require('sequelize');
const sequelize = new Sequelize('sqlite::memeory:');

const User = sequelize.define('User', {
	id: {
		type: DataTypes.INTEGER,
		autoIncrement: true,
		primaryKey: true
	},
	name: {
		type: DataTypes.STRING,
		allowNull: false
	},
	age: {
		type: Sequelize.INTEGER
	}
}, {});

// typeORM
import { Entity, PrimaryGeneratedColumn, Column } from "typeorm";

@Entity()
export class User {

	@PrimaryGeneratedColumn()
	id: number;
	
	@Column()
	name: string;
	
	@Column()
	age: number;
	
}

쿼리문 2 나이가 25살인 유저들 중 이름을 기준으로 내림차순해 3명을 가지고 오는 쿼리 작성

// sequelize
User.findAll({
	where: {
		age: 25,
	},
	limit: 3,
	order: [
		['name', 'DESC'],
	],
});

// typeORM
connection.getRepository(User)
	.createQueryBuilder()
	.where("age = :age", { age: 25 })
	.orderBy("name", "DESC")
	.limit(3)
	.getMany();

⇒ JPA 사용해본 사람 입장으로는 typeORM이 익숙해서 그런지.. 예쁘고 보기 좋아보입니다.


📈 npm trends 확인 바로가기

image image

⇒ 여전히 sequelize 사용량이 많지만, typeORM 사용량도 꾸준히 늘어남

⇒ Stats 확인해보면 늦게 나온 typeorm이 Stars나 Issues가 훨씬 많음!


📊 성능 비교

좋으신 분이 성능 비교해주신 글이 존재합니다!

[ORM] Node.js에서 ORM 사용하기


🫙 참고 자료

[TypeScript] 어떤 ORM을 써야할까? (TypeORM vs MikroORM vs Sequelize)


여러가지 요소들을 따져본 결과, TypeORM을 사용하기로 결정했습니다!

📜 개발 일지

⚠️ 트러블 슈팅

❗ 규칙

🗒️ 기록

기획
회의록
데일리스크럼
그룹 멘토링
그룹 회고

😲 개별 멘토링

고동우
김진
서산
이시은
박진명
Clone this wiki locally