Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
go-dbmigrate — Bibliothèque Go et CLI pour la gestion des migrations de schéma de base de données, avec prise en charge de PostgreSQL, MySQL, SQLite et Cassandra, incluant des flux de travail de migration ascendants/descendants. | Kitploit
Outils/GitHubGitHub/moisei-dev/go-dbmigrate
Audit de ConfigurationDevSecOpsUtilitaires et FrameworksSécurité de la Chaîne LogistiqueSécurité des Bases de Données
GitHubmoisei-dev/go-dbmigrate

go-dbmigrate

Bibliothèque Go et CLI pour la gestion des migrations de schéma de base de données, avec prise en charge de PostgreSQL, MySQL, SQLite et Cassandra, incluant des flux de travail de migration ascendants/descendants.

Voir le dépôt
7il y a 5 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

migrate

Build Status GoDoc

Un outil d'aide à la migration écrit en Go. Utilisez-le dans votre code Golang existant ou exécutez des commandes via la CLI.

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

Fonctionnalités

  • Interface Driver très simple à implémenter.
  • Arrêt propre des migrations en cours d'exécution sur ^C.
  • Pas de routines magiques de chemins de recherche, pas de fichiers de configuration codés en dur.
  • La CLI est construite sur la base du paquet migrate.

Pilotes disponibles

  • PostgreSQL
  • Cassandra
  • SQLite
  • MySQL (expérimental)
  • Bash (prévu)
  • Besoin d'un autre pilote ? Implémentez simplement l'interface Driver et ouvrez une PR.

    Utilisation depuis le terminal

    root@kitploit:~
    # installation
    go get github.com/mattes/migrate
    
    # créer un nouveau fichier de migration dans le chemin
    migrate -url driver://url -path ./migrations create migration_file_xyz
    
    # appliquer toutes les migrations disponibles
    migrate -url driver://url -path ./migrations up
    
    # annuler toutes les migrations
    migrate -url driver://url -path ./migrations down
    
    # annuler la migration la plus récemment appliquée, puis la réexécuter.
    migrate -url driver://url -path ./migrations redo
    
    # exécuter la commande down puis up
    migrate -url driver://url -path ./migrations reset
    
    # afficher la version de migration actuelle
    migrate -url driver://url -path ./migrations version
    
    # appliquer les n migrations suivantes
    migrate -url driver://url -path ./migrations migrate +1
    migrate -url driver://url -path ./migrations migrate +2
    migrate -url driver://url -path ./migrations migrate +n
    
    # annuler les n migrations précédentes
    migrate -url driver://url -path ./migrations migrate -1
    migrate -url driver://url -path ./migrations migrate -2
    migrate -url driver://url -path ./migrations migrate -n
    
    # aller à une migration spécifique
    migrate -url driver://url -path ./migrations goto 1
    migrate -url driver://url -path ./migrations goto 10
    migrate -url driver://url -path ./migrations goto v
    

    Utilisation en Go

    Voir GoDoc ici : http://godoc.org/github.com/mattes/migrate/migrate

    root@kitploit:~
    import "github.com/mattes/migrate/migrate"
    
    // Importer tous les pilotes requis afin qu'ils soient enregistrés et disponibles
    import _ "github.com/mattes/migrate/driver/mysql"
    
    // utiliser les versions synchrones des fonctions de migration ...
    allErrors, ok := migrate.UpSync("driver://url", "./path")
    if !ok {
      fmt.Println("Oh non ...")
      // faire quelque chose avec la tranche allErrors
    }
    
    // utiliser la version asynchrone des fonctions de migration ...
    pipe := migrate.NewPipe()
    go migrate.Up(pipe, "driver://url", "./path")
    // pipe est essentiellement un canal
    // écrire votre propre écouteur de canal. voir writePipe() dans main.go comme exemple.
    

    Fichiers de migration

    Le format des fichiers de migration ressemble à ceci :

    root@kitploit:~
    001_initial_plan_to_do_sth.up.sql     # instructions de migration up
    001_initial_plan_to_do_sth.down.sql   # instructions de migration down
    002_xxx.up.sql
    002_xxx.down.sql
    ...
    

    Pourquoi deux fichiers ? De cette façon, vous pouvez toujours faire quelque chose comme psql -f ./db/migrations/001_initial_plan_to_do_sth.up.sql et il n'y a pas besoin d'un langage de balisage personnalisé pour diviser les migrations up et down. Veuillez noter que l'extension du nom de fichier dépend du pilote.

    Alternatives

    • 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
    Télécharger l’outil