Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
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.

FeedsContatoPrivacidade© 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
23há 5 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.

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

# 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

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:

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