Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
go-dbmigrate — Biblioteca Go e CLI para gerenciar migrações de esquema de banco de dados com suporte para PostgreSQL, MySQL, SQLite e Cassandra, incluindo fluxos de trabalho de migração up/down. | Kitploit
Ferramentas/GitHubGitHub/moisei-dev/go-dbmigrate
Auditoria de ConfiguraçãoDevSecOpsUtilitários e FrameworksSegurança da Cadeia de SuprimentosSegurança de Banco de Dados
GitHubmoisei-dev/go-dbmigrate

go-dbmigrate

Biblioteca Go e CLI para gerenciar migrações de esquema de banco de dados com suporte para PostgreSQL, MySQL, SQLite e Cassandra, incluindo fluxos de trabalho de migração up/down.

Ver Repositório
há 4 mesesAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

migrate

Build Status GoDoc

Um auxiliar de migração escrito em Go. Use-o no seu código Golang existente ou execute comandos via CLI.

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

Recursos

  • Super fácil de implementar a interface Driver.
  • Encerra graciosamente migrações em execução ao receber ^C.
  • Sem rotinas mágicas de caminhos de busca, sem arquivos de configuração codificados.
  • A CLI é construída sobre o pacote migrate.

Drivers Disponíveis

  • PostgreSQL
  • Cassandra
  • SQLite
  • MySQL (experimental)
  • Bash (planejado)
  • Precisa de outro driver? Basta implementar a interface Driver e abrir um PR.

    Uso no Terminal

    root@kitploit:~
    # instalar
    go get github.com/mattes/migrate
    
    # criar novo arquivo de migração no caminho
    migrate -url driver://url -path ./migrations create migration_file_xyz
    
    # aplicar todas as migrações disponíveis
    migrate -url driver://url -path ./migrations up
    
    # reverter todas as migrações
    migrate -url driver://url -path ./migrations down
    
    # reverter a migração aplicada mais recentemente e executá-la novamente.
    migrate -url driver://url -path ./migrations redo
    
    # executar o comando down e depois up
    migrate -url driver://url -path ./migrations reset
    
    # mostrar a versão atual da migração
    migrate -url driver://url -path ./migrations version
    
    # aplicar as próximas n migrações
    migrate -url driver://url -path ./migrations migrate +1
    migrate -url driver://url -path ./migrations migrate +2
    migrate -url driver://url -path ./migrations migrate +n
    
    # reverter as n migrações anteriores
    migrate -url driver://url -path ./migrations migrate -1
    migrate -url driver://url -path ./migrations migrate -2
    migrate -url driver://url -path ./migrations migrate -n
    
    # ir para uma migração específica
    migrate -url driver://url -path ./migrations goto 1
    migrate -url driver://url -path ./migrations goto 10
    migrate -url driver://url -path ./migrations goto v
    

    Uso em Go

    Veja o GoDoc aqui: http://godoc.org/github.com/mattes/migrate/migrate

    root@kitploit:~
    import "github.com/mattes/migrate/migrate"
    
    // Importe quaisquer drivers necessários para que sejam registrados e fiquem disponíveis
    import _ "github.com/mattes/migrate/driver/mysql"
    
    // use versões síncronas das funções de migração ...
    allErrors, ok := migrate.UpSync("driver://url", "./path")
    if !ok {
      fmt.Println("Oh não ...")
      // faça algo com o slice allErrors
    }
    
    // use a versão assíncrona das funções de migração ...
    pipe := migrate.NewPipe()
    go migrate.Up(pipe, "driver://url", "./path")
    // pipe é basicamente apenas um canal
    // escreva seu próprio listener de canal. veja writePipe() em main.go como exemplo.
    

    Arquivos de migração

    O formato dos arquivos de migração é assim:

    root@kitploit:~
    001_initial_plan_to_do_sth.up.sql     # instruções de migração up
    001_initial_plan_to_do_sth.down.sql   # instruções de migração down
    002_xxx.up.sql
    002_xxx.down.sql
    ...
    

    Por que dois arquivos? Dessa forma você ainda pode fazer algo como psql -f ./db/migrations/001_initial_plan_to_do_sth.up.sql e não há necessidade de qualquer linguagem de marcação personalizada para dividir migrações up e down. Observe que a extensão do nome do arquivo depende do driver.

    Alternativas

    • 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
    Baixar ferramenta