Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
go-dbmigrate — Go 라이브러리 및 CLI로, PostgreSQL, MySQL, SQLite, Cassandra를 지원하며 업/다운 마이그레이션 워크플로우를 포함한 데이터베이스 스키마 마이그레이션 관리를 위한 도구입니다. | Kitploit
도구/GitHubGitHub/moisei-dev/go-dbmigrate
Configuration AuditingDevSecOpsUtilities & FrameworksSupply Chain SecurityDatabase Security
GitHubmoisei-dev/go-dbmigrate

go-dbmigrate

Go 라이브러리 및 CLI로, PostgreSQL, MySQL, SQLite, Cassandra를 지원하며 업/다운 마이그레이션 워크플로우를 포함한 데이터베이스 스키마 마이그레이션 관리를 위한 도구입니다.

저장소 보기
4개월 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

migrate

Build Status GoDoc

Go로 작성된 마이그레이션 헬퍼입니다. 기존 Golang 코드에서 사용하거나 CLI를 통해 명령을 실행할 수 있습니다.

root@kitploit:~
GoCode   import github.com/mattes/migrate/migrate
CLI      go get -u github.com/mattes/migrate

기능

  • 구현이 매우 쉬운 Driver 인터페이스.
  • ^C 입력 시 실행 중인 마이그레이션을 안전하게 종료.
  • 마법 같은 검색 경로 루틴 없음, 하드코딩된 설정 파일 없음.
  • CLI는 migrate 패키지를 기반으로 구축됨.

사용 가능한 드라이버

  • PostgreSQL
  • Cassandra
  • SQLite
  • MySQL (실험적)
  • Bash (계획 중)

다른 드라이버가 필요하신가요? Driver 인터페이스를 구현하고 PR을 열어주세요.

터미널에서 사용하기

root@kitploit:~
# 설치
go get github.com/mattes/migrate

# 경로에 새 마이그레이션 파일 생성
migrate -url driver://url -path ./migrations create migration_file_xyz

# 사용 가능한 모든 마이그레이션 적용
migrate -url driver://url -path ./migrations up

# 모든 마이그레이션 롤백
migrate -url driver://url -path ./migrations down

# 가장 최근에 적용된 마이그레이션을 롤백한 후 다시 실행
migrate -url driver://url -path ./migrations redo

# down 명령 후 up 명령 실행
migrate -url driver://url -path ./migrations reset

# 현재 마이그레이션 버전 표시
migrate -url driver://url -path ./migrations version

# 다음 n개 마이그레이션 적용
migrate -url driver://url -path ./migrations migrate +1
migrate -url driver://url -path ./migrations migrate +2
migrate -url driver://url -path ./migrations migrate +n

# 이전 n개 마이그레이션 롤백
migrate -url driver://url -path ./migrations migrate -1
migrate -url driver://url -path ./migrations migrate -2
migrate -url driver://url -path ./migrations migrate -n

# 특정 마이그레이션으로 이동
migrate -url driver://url -path ./migrations goto 1
migrate -url driver://url -path ./migrations goto 10
migrate -url driver://url -path ./migrations goto v

Go에서 사용하기

GoDoc 참조: http://godoc.org/github.com/mattes/migrate/migrate

root@kitploit:~
import "github.com/mattes/migrate/migrate"

// 필요한 드라이버를 등록하고 사용할 수 있도록 가져오기
import _ "github.com/mattes/migrate/driver/mysql"

// 동기식 마이그레이션 함수 사용 ...
allErrors, ok := migrate.UpSync("driver://url", "./path")
if !ok {
  fmt.Println("Oh no ...")
  // allErrors 슬라이스로 무언가 처리
}

// 비동기식 마이그레이션 함수 사용 ...
pipe := migrate.NewPipe()
go migrate.Up(pipe, "driver://url", "./path")
// pipe는 기본적으로 채널입니다
// 자신만의 채널 리스너를 작성하세요. 예시는 main.go의 writePipe()를 참조하세요.

마이그레이션 파일

마이그레이션 파일의 형식은 다음과 같습니다:

root@kitploit:~
001_initial_plan_to_do_sth.up.sql     # up 마이그레이션 지침
001_initial_plan_to_do_sth.down.sql   # down 마이그레이션 지침
002_xxx.up.sql
002_xxx.down.sql
...

왜 두 개의 파일인가요? 이렇게 하면 psql -f ./db/migrations/001_initial_plan_to_do_sth.up.sql 같은 작업을 계속 수행할 수 있고, up/down 마이그레이션을 구분하기 위한 사용자 정의 마크업 언어가 필요 없습니다. 파일 확장자는 드라이버에 따라 달라진다는 점에 유의하세요.

대안

  • https://bitbucket.org/liamstask/goose
  • https://github.com/tanel/dbmigrate
  • https://github.com/BurntSushi/migration
  • https://github.com/DavidHuie/gomigrate
  • https://github.com/rubenv/sql-migrate
도구 다운로드