Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
go-dbmigrate — GoライブラリおよびCLIで、PostgreSQL、MySQL、SQLite、Cassandraをサポートしたデータベーススキーママイグレーションを管理するためのツールです。アップ/ダウンマイグレーションのワークフローに対応しています。 | Kitploit
ツール/GitHubGitHub/moisei-dev/go-dbmigrate
構成監査DevSecOpsユーティリティとフレームワークサプライチェーンセキュリティデータベースセキュリティ
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

特徴

  • 実装が非常に簡単なドライバーインターフェース。
  • ^Cで実行中のマイグレーションを安全に終了。
  • 魔法のような検索パスルーチンや、ハードコードされた設定ファイルは不要。
  • CLIはmigrateパッケージの上に構築されています。

利用可能なドライバー

  • PostgreSQL
  • Cassandra
  • SQLite
  • MySQL (実験的)
  • Bash (計画中)

別のドライバーが必要ですか? ドライバーインターフェースを実装して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
...

なぜ2つのファイルなのか? この方法なら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
ツールをダウンロード