Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
go-dbmigrate — Biblioteca Go y CLI para gestionar migraciones de esquemas de bases de datos con soporte para PostgreSQL, MySQL, SQLite y Cassandra, incluyendo flujos de trabajo de migración ascendente/descendente. | Kitploit
Herramientas/GitHubGitHub/moisei-dev/go-dbmigrate
Auditoría de ConfiguraciónDevSecOpsUtilidades y FrameworksSeguridad de Cadena de SuministroSeguridad de Bases de Datos
GitHubmoisei-dev/go-dbmigrate

go-dbmigrate

Biblioteca Go y CLI para gestionar migraciones de esquemas de bases de datos con soporte para PostgreSQL, MySQL, SQLite y Cassandra, incluyendo flujos de trabajo de migración ascendente/descendente.

Ver Repositorio
hace 4 mesesAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

migrate

Build Status GoDoc

Un asistente de migraciones escrito en Go. Úsalo en tu código Golang existente o ejecuta comandos mediante la CLI.

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

Características

  • Muy fácil de implementar la interfaz Driver.
  • Finaliza correctamente las migraciones en ejecución con ^C.
  • Sin rutinas mágicas de búsqueda de rutas, sin archivos de configuración codificados.
  • La CLI está construida sobre el paquete migrate.

Drivers disponibles

  • PostgreSQL
  • Cassandra
  • SQLite
  • MySQL (experimental)
  • Bash (planificado)
  • ¿Necesitas otro driver? Simplemente implementa la interfaz Driver y abre un PR.

    Uso desde la terminal

    root@kitploit:~
    # instalar
    go get github.com/mattes/migrate
    
    # crear un nuevo archivo de migración en la ruta
    migrate -url driver://url -path ./migrations create migration_file_xyz
    
    # aplicar todas las migraciones disponibles
    migrate -url driver://url -path ./migrations up
    
    # revertir todas las migraciones
    migrate -url driver://url -path ./migrations down
    
    # revertir la migración aplicada más recientemente y luego ejecutarla de nuevo.
    migrate -url driver://url -path ./migrations redo
    
    # ejecutar el comando down y luego up
    migrate -url driver://url -path ./migrations reset
    
    # mostrar la versión actual de la migración
    migrate -url driver://url -path ./migrations version
    
    # aplicar las siguientes n migraciones
    migrate -url driver://url -path ./migrations migrate +1
    migrate -url driver://url -path ./migrations migrate +2
    migrate -url driver://url -path ./migrations migrate +n
    
    # revertir las n migraciones 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 a una migración 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 en Go

    Consulta GoDoc aquí: http://godoc.org/github.com/mattes/migrate/migrate

    root@kitploit:~
    import "github.com/mattes/migrate/migrate"
    
    // Importa cualquier driver requerido para que se registren y estén disponibles
    import _ "github.com/mattes/migrate/driver/mysql"
    
    // usa las versiones síncronas de las funciones de migración ...
    allErrors, ok := migrate.UpSync("driver://url", "./path")
    if !ok {
      fmt.Println("Oh no ...")
      // haz algo con el slice allErrors
    }
    
    // usa la versión asíncrona de las funciones de migración ...
    pipe := migrate.NewPipe()
    go migrate.Up(pipe, "driver://url", "./path")
    // pipe es básicamente un canal
    // escribe tu propio listener de canal. consulta writePipe() en main.go como ejemplo.
    

    Archivos de migración

    El formato de los archivos de migración es el siguiente:

    root@kitploit:~
    001_initial_plan_to_do_sth.up.sql     # instrucciones de migración up
    001_initial_plan_to_do_sth.down.sql   # instrucciones de migración down
    002_xxx.up.sql
    002_xxx.down.sql
    ...
    

    ¿Por qué dos archivos? De esta manera aún podrías hacer algo como psql -f ./db/migrations/001_initial_plan_to_do_sth.up.sql y no hay necesidad de ningún lenguaje de marcado personalizado para dividir las migraciones up y down. Ten en cuenta que la extensión del archivo depende del 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
    Descargar herramienta