Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
go-dbmigrate — Go-Bibliothek und CLI zur Verwaltung von Datenbankschema-Migrationen mit Unterstützung für PostgreSQL, MySQL, SQLite und Cassandra, einschließlich Up-/Down-Migrations-Workflows. | Kitploit
Tools/GitHubGitHub/moisei-dev/go-dbmigrate
KonfigurationsprüfungDevSecOpsDienstprogramme & FrameworksLieferkettensicherheitDatenbanksicherheit
GitHubmoisei-dev/go-dbmigrate

go-dbmigrate

Go-Bibliothek und CLI zur Verwaltung von Datenbankschema-Migrationen mit Unterstützung für PostgreSQL, MySQL, SQLite und Cassandra, einschließlich Up-/Down-Migrations-Workflows.

Repository anzeigen
vor 4 MonatenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

migrate

Build Status GoDoc

Ein Migrations-Helfer, geschrieben in Go. Verwende ihn in deinem vorhandenen Golang-Code oder führe Befehle über die CLI aus.

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

Funktionen

  • Super einfach zu implementierende Driver-Schnittstelle.
  • Beendet laufende Migrationen bei ^C sauber.
  • Keine magischen Suchpfad-Routinen, keine hartcodierten Konfigurationsdateien.
  • Die CLI basiert auf dem migrate-Paket.

Verfügbare Treiber

  • PostgreSQL
  • Cassandra
  • SQLite
  • MySQL (experimentell)
  • Bash (geplant)

Du brauchst einen anderen Treiber? Implementiere einfach die Driver-Schnittstelle und eröffne einen PR.

Verwendung im Terminal

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

# neue Migrationsdatei im Pfad erstellen
migrate -url driver://url -path ./migrations create migration_file_xyz

# alle verfügbaren Migrationen anwenden
migrate -url driver://url -path ./migrations up

# alle Migrationen zurückrollen
migrate -url driver://url -path ./migrations down

# die zuletzt angewendete Migration zurückrollen und dann erneut ausführen.
migrate -url driver://url -path ./migrations redo

# den down- und dann den up-Befehl ausführen
migrate -url driver://url -path ./migrations reset

# die aktuelle Migrationsversion anzeigen
migrate -url driver://url -path ./migrations version

# die nächsten n Migrationen anwenden
migrate -url driver://url -path ./migrations migrate +1
migrate -url driver://url -path ./migrations migrate +2
migrate -url driver://url -path ./migrations migrate +n

# die vorherigen n Migrationen zurückrollen
migrate -url driver://url -path ./migrations migrate -1
migrate -url driver://url -path ./migrations migrate -2
migrate -url driver://url -path ./migrations migrate -n

# zu einer bestimmten Migration wechseln
migrate -url driver://url -path ./migrations goto 1
migrate -url driver://url -path ./migrations goto 10
migrate -url driver://url -path ./migrations goto v

Verwendung in Go

Siehe GoDoc hier: http://godoc.org/github.com/mattes/migrate/migrate

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

// Importiere alle benötigten Treiber, damit sie registriert und verfügbar sind
import _ "github.com/mattes/migrate/driver/mysql"

// verwende synchrone Versionen der Migrationsfunktionen ...
allErrors, ok := migrate.UpSync("driver://url", "./path")
if !ok {
  fmt.Println("Oh nein ...")
  // mache etwas mit dem allErrors-Slice
}

// verwende die asynchrone Version der Migrationsfunktionen ...
pipe := migrate.NewPipe()
go migrate.Up(pipe, "driver://url", "./path")
// pipe ist im Grunde nur ein Kanal
// schreibe deinen eigenen Kanal-Listener. Siehe writePipe() in main.go als Beispiel.

Migrationsdateien

Das Format der Migrationsdateien sieht so aus:

root@kitploit:~
001_initial_plan_to_do_sth.up.sql     # up-Migrationsanweisungen
001_initial_plan_to_do_sth.down.sql   # down-Migrationsanweisungen
002_xxx.up.sql
002_xxx.down.sql
...

Warum zwei Dateien? Auf diese Weise kannst du weiterhin so etwas wie psql -f ./db/migrations/001_initial_plan_to_do_sth.up.sql ausführen, und es ist keine benutzerdefinierte Auszeichnungssprache nötig, um up- und down-Migrationen zu trennen. Bitte beachte, dass die Dateinamenerweiterung vom Treiber abhängt.

Alternativen

  • 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
Tool herunterladen