MySQL 4

Sequelize로 MySQL 트랜잭션 적용하기

managed와 Unmanaged 트랜잭션 sequelize에서 Transaction는 어떻게 사용할 수 있는지 알아보자 sequelize에서 트랜잭션을 적용하는 방법은 크기 Managed 방식과 Unmanaged 방식으로 나뉜다. // Managed const { sequelize, User } = require('../models'); // 트랜잭션의 콜백으로 유저 생성 로직을 처리합니다 const result = await sequelize.transaction(async (t) => { const user = await User.create( { nickname: 'apple', age: 18, }, { transaction: t } // 해당 로직이 트랜잭션으로 묶여있음을 명시함 ); retur..

Docker로 MySQL 설치 및 실행하기 (Mac OS)

도커를 왜 쓰는 걸까? 도커에 대한 설명은 쉽게 찾아볼 수 있으므로 매우 간단하게 설명하자면, 하나의 컴퓨터를 여러 대의 컴퓨터인 마냥 써야할 경우에 사용한다. 예를 들어서 웹 서비스를 총 10개 운영한다고 했을 때 하나의 컴퓨터, 하나의 OS에서 10개 사이트에 대한 관리를 하는 것보다(가능한지 잘 모르겠다.) 독립된 10개의 공간에서 각각 관리하는 것이 유지 보수에 유리하기 때문이다. 왜냐하면 컴퓨팅 자원을 분리하여 독립적으로 사용할 수 있다는 장점이 있기 때문이다. 3번 웹 서비스 운영에 이슈가 생겼다고 해서 5번 서비스 운영에 지장을 주면 안되기 때문이다. 1. 도커 데스크탑 설치 Mac OS의 터미널을 통해서 도커를 설치하고, 켜고 끄거나 할 수 있겠지만 개인적으로 가장 간단하게는 그냥 도커 데..

Sequelize로 모델 생성 및 테이블 연동하기

모델생성 및 테이블 연동하기 마이그레이션을 통해 테이블을 생성하면 아래와 같이 models 폴더 내 members.js파일이 함께 생성된다. 코드를 보면 마이그레이션과 비슷한 형태로 생성된 것을 확인할 수 있다. const { Model } = require('sequelize'); module.exports = (sequelize, DataTypes) => { class Member extends Model {} Member.init( { name: DataTypes.STRING, team: DataTypes.STRING, position: DataTypes.STRING, emailAddress: DataTypes.STRING, phoneNumber: DataTypes.STRING, admissionD..

Sequalize로 MYSQL 데이터베이스 마이그레이션하기

기본 환경 설정하기 node에서 MySQL 데이터베이스를 사용하기 위해 Community Server 설치가 필요하다. https://dev.mysql.com/downloads/ 또한 node와 데이터베이스를 ORM 방식으로 사용하기 위해 추가적인 npm 패키지 설치가 필요하며 여기서는 sequalize라는 패키지를 활용한다. npm install mysql2 sequelize sequelize-cli 위 패키지 중 sequelize-cli는 필수 패키지는 아니나 데이터베이스 생성이나 마이그레이션 등을 cli 명령으로 가능하게 하여 작업의 편의성을 더해준다. 💡 Tip ORM은 데이터베이스에 있는 객체를 하나의 객체에 매핑시키는 기술 데이터베이스 문법을 잘 모르더라도 자바스크립트 언어로 비교적 쉽게 상호..