[nodejs] MySQL 데이터베이스와의 연동을 위한 데이터베이스 마이그레이션 방법

데이터베이스 마이그레이션이란, 새로운 데이터베이스 서버로 기존 데이터베이스를 이전하는 프로세스를 말합니다. 이 글에서는 Node.js 애플리케이션과 MySQL 데이터베이스 간의 연동을 위한 데이터베이스 마이그레이션 방법에 대해 설명하겠습니다.

1. 마이그레이션 도구 선택

데이터베이스 마이그레이션을 위해 많은 도구들이 있지만, 가장 인기 있는 도구 중 하나는 Knex.js입니다. Knex.js는 SQL 쿼리 빌더 및 데이터베이스 마이그레이션을 위한 도구로, Node.js 애플리케이션에서 MySQL과 같은 데이터베이스에 쉽게 연동할 수 있도록 도와줍니다.

2. Knex.js 설치

먼저 프로젝트 디렉토리에서 다음 명령을 사용하여 Knex.js를 설치합니다.

npm install knex mysql

3. 데이터베이스 연결 설정

Knex.js를 사용하여 MySQL 데이터베이스에 연결하려면, knexfile.js 파일을 생성하고 데이터베이스 연결 정보를 설정해야 합니다.

예시 knexfile.js:

module.exports = {
  development: {
    client: 'mysql',
    connection: {
      host: '127.0.0.1',
      user: 'your_database_user',
      password: 'your_database_password',
      database: 'myapp_test'
    }
  }
};

4. 데이터베이스 마이그레이션 파일 생성

다음으로, 데이터베이스 마이그레이션을 위한 파일을 생성해야 합니다. 이 파일은 데이터베이스 스키마 및 테이블을 정의하고, 마이그레이션 및 롤백을 수행하는 데 사용됩니다.

예시 마이그레이션 파일:

exports.up = function(knex) {
  return knex.schema.createTable('users', function(table) {
    table.increments('id').primary();
    table.string('username').notNullable();
    table.string('email').notNullable().unique();
    table.timestamps(true, true);
  });
};

exports.down = function(knex) {
  return knex.schema.dropTable('users');
};

5. 데이터베이스 마이그레이션 실행

마지막으로, 아래 명령어를 사용하여 마이그레이션을 실행합니다.

npx knex migrate:latest

위 명령은 마이그레이션 파일을 실행하여 데이터베이스에 테이블을 생성합니다.

이제 Node.js 애플리케이션과 MySQL 데이터베이스가 성공적으로 연동되어 데이터베이스 마이그레이션이 완료되었습니다. Knex.js를 사용하면 Node.js 애플리케이션과 MySQL 데이터베이스 간의 연동 및 데이터베이스 마이그레이션을 간편하게 처리할 수 있습니다.

이상으로 MySQL 데이터베이스와의 연동을 위한 데이터베이스 마이그레이션 방법에 대해 알아보았습니다.

참고 문헌