도커를 활용한 자바스크립트 앱의 데이터베이스 마이그레이션 방법

도커(Docker)는 애플리케이션을 컨테이너화하여 개발자들에게 환경에 구애받지 않는 효율적인 배포 방법을 제공합니다. 이 글에서는 도커를 활용하여 자바스크립트 앱의 데이터베이스 마이그레이션을 수행하는 방법에 대해 알아보겠습니다.

1. 도커를 사용한 데이터베이스 컨테이너 실행

먼저, 데이터베이스 서버를 도커 컨테이너로 실행해야 합니다. 예를 들어, MySQL을 사용한다고 가정해보겠습니다. 다음 명령어를 사용하여 MySQL 도커 컨테이너를 실행할 수 있습니다:

docker run --name mysql-container -e MYSQL_ROOT_PASSWORD=password -d mysql:latest

위 명령어는 mysql-container라는 이름의 컨테이너를 생성하고, MYSQL_ROOT_PASSWORD 환경 변수를 설정하여 MySQL 루트 비밀번호를 지정합니다.

2. 데이터베이스 마이그레이션 도구 설치

데이터베이스 마이그레이션을 위해 자바스크립트 앱에서 사용할 수 있는 마이그레이션 도구를 설치해야 합니다. 대표적으로 db-migrateknex를 사용할 수 있습니다. 이들 도구는 데이터베이스 스키마 변경을 위한 마이그레이션 스크립트를 작성하고 실행할 수 있는 기능을 제공합니다.

예를 들어 db-migrate를 사용한다면, 다음 명령어를 사용하여 도구를 설치할 수 있습니다:

npm install -g db-migrate

3. 마이그레이션 스크립트 작성

마이그레이션 스크립트는 데이터베이스 스키마 변경을 수행하는 스크립트입니다. 각각의 마이그레이션 스크립트는 고유한 번호와 설명을 가지고 있으며, 스키마 변경 작업을 담고 있습니다.

// 001_create_users_table.js

exports.up = function(db, callback) {
  db.createTable('users', {
    id: { type: 'int', primaryKey: true },
    name: 'string',
    email: 'string'
  }, callback);
};

exports.down = function(db, callback) {
  db.dropTable('users', callback);
};

위 예시는 users 테이블을 생성하고 삭제하는 마이그레이션 스크립트입니다.

4. 마이그레이션 스크립트 실행

실제로 마이그레이션 스크립트를 실행하여 데이터베이스 스키마를 변환합시다. 다음 명령어를 사용하여 마이그레이션을 실행할 수 있습니다:

db-migrate up --config database.json

위 명령어는 database.json 파일을 사용하여 데이터베이스 연결을 구성하고, 현재 위치한 디렉토리에서 마이그레이션 스크립트를 자동으로 찾아 실행합니다.

5. 결과 확인

마이그레이션이 성공적으로 실행되었다면, 데이터베이스의 스키마 변경이 적용된 것을 확인할 수 있습니다. 도커 컨테이너에 접속하여 데이터베이스에 접근하거나, 자바스크립트 앱을 실행하여 데이터베이스에 접근하여 결과를 확인해보세요.

이제 도커를 활용하여 자바스크립트 앱의 데이터베이스 마이그레이션을 간단하게 수행하는 방법에 대해 알아보았습니다. 자바스크립트 앱의 데이터베이스 스키마를 변경할 때는 도커를 통한 컨테이너 실행과 마이그레이션 도구를 활용하여 효율적으로 작업할 수 있습니다.

#Docker #JavaScript