https://github.com/winverse/mysql-migration-tool
Simple migration tool for mysql
https://github.com/winverse/mysql-migration-tool
mysql nodejs typescript
Last synced: about 2 months ago
JSON representation
Simple migration tool for mysql
- Host: GitHub
- URL: https://github.com/winverse/mysql-migration-tool
- Owner: winverse
- License: mit
- Created: 2021-04-10T14:55:39.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2022-10-06T18:21:42.000Z (over 2 years ago)
- Last Synced: 2025-02-05T11:49:18.732Z (4 months ago)
- Topics: mysql, nodejs, typescript
- Language: TypeScript
- Homepage:
- Size: 76.2 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Motivation
- [Sequelize](https://sequelize.org/)에 존재하는 migration 기능을 보고서 한번 구현해보고 싶었습니다.
- 간단하게 만들기 위해서 외부 의존성은 mysql2만 사용하였습니다.# Simple mysql migration tool
- 데이터 베이스 스키마를 기록하여 다른 데이터 베이스에 migration을 자동으로 수행해주는 프로그램입니다.
- `yarn generate` 명령어를 통해서 데이터 베이스에 대한 변화를 추가적으로 감지하여 변경 된 부분만 데이터 베이스 스키마를 기록합니다.
- `yarn run ` migration을 적용할 DB 이름을 적어주면 변경된 사항들을 단계적으로 적용하고 적용된 사항들을 DB에 기록합니다.
- 테이블에 대한 기본적인 DDL 문법들이 적용 가능합니다.# API
- [X] createTable
- [X] dropTable
- [X] addColumn
- [X] removeColumn
- [X] changeColumn# 실행
- config 경로에 config.example.json 을 복사한뒤에 config.json 파일을 만들고 내용을 환경에 맞게 적어주세요
## 명령어(scripts)
- `yarn generate`: DB와 테이블 정보가 포함된 migration파일들을 생성합니다.
만약 이전과 다른 내용이 없다면 파일을 생성하지 않습니다.- `yarn run `: migration 파일에 저장된 사항들을 다른 DB에 적용합니다.
만약 DBName을 입력하지 않는다면 에러가 발생합니다.- `yarn reset`: 삭제해도 괜찮은 무관한 파일들을 삭제합니다.