Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
go-dbmigrate — Libreria Go e CLI per la gestione delle migrazioni dello schema del database, con supporto per PostgreSQL, MySQL, SQLite e Cassandra, inclusi i flussi di lavoro di migrazione up/down. | Kitploit
Strumenti/GitHubGitHub/moisei-dev/go-dbmigrate
Audit di ConfigurazioneDevSecOpsUtilità e FrameworkSicurezza della Supply ChainSicurezza dei Database
GitHubmoisei-dev/go-dbmigrate

go-dbmigrate

Libreria Go e CLI per la gestione delle migrazioni dello schema del database, con supporto per PostgreSQL, MySQL, SQLite e Cassandra, inclusi i flussi di lavoro di migrazione up/down.

Vedi Repository
75 mesi faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

migrate

Build Status GoDoc

Un helper per le migrazioni scritto in Go. Usalo nel tuo codice Golang esistente oppure esegui i comandi tramite la CLI.

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

Caratteristiche

  • Estremamente semplice da implementare con l'interfaccia Driver.
  • Termina in modo pulito le migrazioni in esecuzione su ^C.
  • Nessuna routine magica per i percorsi di ricerca, nessun file di configurazione hard-coded.
  • La CLI è costruita sopra il pacchetto migrate.

Driver disponibili

  • PostgreSQL
  • Cassandra
  • SQLite
  • MySQL (sperimentale)
  • Bash (previsto)
  • Ti serve un altro driver? Implementa semplicemente l'interfaccia Driver e apri una PR.

    Utilizzo dal Terminale

    root@kitploit:~
    # installazione
    go get github.com/mattes/migrate
    
    # crea un nuovo file di migrazione nel percorso
    migrate -url driver://url -path ./migrations create migration_file_xyz
    
    # applica tutte le migrazioni disponibili
    migrate -url driver://url -path ./migrations up
    
    # annulla tutte le migrazioni
    migrate -url driver://url -path ./migrations down
    
    # annulla la migrazione applicata più di recente, poi eseguila di nuovo.
    migrate -url driver://url -path ./migrations redo
    
    # esegui il comando down e poi up
    migrate -url driver://url -path ./migrations reset
    
    # mostra la versione corrente della migrazione
    migrate -url driver://url -path ./migrations version
    
    # applica le prossime n migrazioni
    migrate -url driver://url -path ./migrations migrate +1
    migrate -url driver://url -path ./migrations migrate +2
    migrate -url driver://url -path ./migrations migrate +n
    
    # annulla le precedenti n migrazioni
    migrate -url driver://url -path ./migrations migrate -1
    migrate -url driver://url -path ./migrations migrate -2
    migrate -url driver://url -path ./migrations migrate -n
    
    # vai a una migrazione specifica
    migrate -url driver://url -path ./migrations goto 1
    migrate -url driver://url -path ./migrations goto 10
    migrate -url driver://url -path ./migrations goto v
    

    Utilizzo in Go

    Vedi GoDoc qui: http://godoc.org/github.com/mattes/migrate/migrate

    root@kitploit:~
    import "github.com/mattes/migrate/migrate"
    
    // Importa tutti i driver necessari affinché vengano registrati e resi disponibili
    import _ "github.com/mattes/migrate/driver/mysql"
    
    // usa le versioni sincrone delle funzioni di migrazione ...
    allErrors, ok := migrate.UpSync("driver://url", "./path")
    if !ok {
      fmt.Println("Oh no ...")
      // fai qualcosa con lo slice allErrors
    }
    
    // usa la versione asincrona delle funzioni di migrazione ...
    pipe := migrate.NewPipe()
    go migrate.Up(pipe, "driver://url", "./path")
    // pipe è fondamentalmente solo un canale
    // scrivi il tuo listener per il canale. vedi writePipe() in main.go come esempio.
    

    File di migrazione

    Il formato dei file di migrazione è il seguente:

    root@kitploit:~
    001_initial_plan_to_do_sth.up.sql     # istruzioni di migrazione up
    001_initial_plan_to_do_sth.down.sql   # istruzioni di migrazione down
    002_xxx.up.sql
    002_xxx.down.sql
    ...
    

    Perché due file? In questo modo puoi ancora fare cose come psql -f ./db/migrations/001_initial_plan_to_do_sth.up.sql e non c'è bisogno di alcun linguaggio di markup personalizzato per dividere le migrazioni up e down. Nota che l'estensione del file dipende dal driver.

    Alternative

    • 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
    Scarica lo strumento