awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
pressly avatar

pressly/goose

0
View on GitHub↗
pressly.github.io/goose↗

Goose

Goose is a database schema versioning system and SQL migration tool designed for Go applications. It functions as a framework for tracking and applying incremental database changes through versioned SQL scripts, ensuring consistency across different environments.

The project distinguishes itself by providing a build-time capability to exclude unused database drivers to optimize binary size and a filesystem abstraction that allows migration scripts to be bundled directly into a compiled executable. It also supports out-of-order execution logic to apply missing scripts that were created after a newer version was already recorded.

The tool covers a broad range of schema evolution capabilities, including forward migrations, rollbacks, and the population of initial reference data through seeding utilities. It manages SQL execution with semicolon-aware statement grouping, transaction-aware processing with manual overrides for non-transactional operations, and the injection of dynamic values via environment variable substitution.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Features

  • Database Schema Migrations - Automates the application of versioned updates to database schemas to ensure consistency across different environments.
  • Data Seeding Utilities - Includes utilities for populating databases with initial reference data or test records as part of schema setup.
  • Go Language Integrations - Provides a specialized framework for Go applications to embed SQL migration files and automate schema updates.
  • Database Versioning - Manages the evolution of database structures through forward migrations and rollbacks to previous versions.
  • Migration Execution - Implements the logic for executing pending migration scripts to bring the schema to the latest version.
  • Schema Migration Tools - Provides a tool for managing and applying incremental database schema changes using SQL scripts.
  • Schema Migrations - Supports reverting the database schema to previous versions by executing defined inverse migration logic.
  • SQL Migration Workflows - Executes complex SQL scripts with support for environment variable injection and custom transaction handling.
  • Migration State Tracking - Maintains a database table to record which migration scripts have been executed to ensure consistency.
  • Transactional Migration Managers - Executes schema migrations within atomic transactions by default to ensure data integrity.
  • Build-Time Pruning - Provides a build-time capability to exclude unused database drivers to minimize the final binary size.
  • Database Seeding Tools - Provides utilities to populate databases with initial reference data as part of the migration process.
  • Filesystem Abstractions - Implements a filesystem abstraction that allows migration scripts to be bundled directly into the compiled executable.
  • Embedded Asset Bundling - Bundles migration files directly into the compiled executable using a virtual filesystem abstraction.
  • Out-of-Order Migrations - Supports applying missing migration scripts that were created after a newer version had already been applied.
  • Database Deployment Automation - Automates schema updates during deployment by bundling scripts into a binary and utilizing environment variables.
  • Binary Footprint Optimizers - Provides build-time pruning of unused database drivers to reduce the application's binary footprint.
  • Non-Transactional Migrations - Allows executing migration statements outside of transaction blocks for operations that are incompatible with transactions.
  • Migration Progress Monitors - Enables listing all available migrations and identifying which have been applied versus which remain pending.
  • Out-of-Order Application - Supports out-of-order execution logic to apply missing migration scripts created after a newer version was recorded.
  • Database Migration Tools - Manages migrations via incremental SQL or Go scripts.
  • Database Tools - Database migration tool.
  • Schema Migration Tools - Tool for managing database evolution via SQL or Go scripts.
10,197 stars·623 forks·Go·other·39 views

Star history

Star history chart for pressly/gooseStar history chart for pressly/goose

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

Frequently asked questions

What does pressly/goose do?

Goose is a database schema versioning system and SQL migration tool designed for Go applications. It functions as a framework for tracking and applying incremental database changes through versioned SQL scripts, ensuring consistency across different environments.

What are the main features of pressly/goose?

The main features of pressly/goose are: Database Schema Migrations, Data Seeding Utilities, Go Language Integrations, Database Versioning, Migration Execution, Schema Migration Tools, Schema Migrations, SQL Migration Workflows.

Which projects share features with pressly/goose?

Projects with overlapping indexed features include: golang-migrate/migrate — This project is a command-line utility designed to manage database schema versioning and automate incremental schema… amacneil/dbmate — Dbmate is a framework-agnostic SQL database migration tool used for tracking, applying, and rolling back schema… ariga/atlas — Atlas is a SQL database schema management tool and database infrastructure as code framework. It provides a… mattes/migrate — This project is a database schema migration engine that provides a command-line interface and a library for managing… bytebase/bytebase — Bytebase is a database DevSecOps platform and management console designed to orchestrate schema migrations,… cakephp/phinx — Phinx is a PHP database migration and versioning tool used to track and deploy structural changes to database schemas…

Projects sharing features with Goose

These projects share indexed features with Goose. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • golang-migrate/migrategolang-migrate avatar

    golang-migrate/migrate

    18,118View on GitHub↗

    This project is a command-line utility designed to manage database schema versioning and automate incremental schema updates. It functions as a version control system for database structures, ensuring consistency across environments by tracking applied migrations in a dedicated metadata table and executing scripts in a sequential, reliable manner. The tool distinguishes itself through a driver-based abstraction layer that supports a wide range of database engines, including various SQL and distributed cloud databases. It provides robust concurrency control through advisory locking, which prev

    Goaws-s3cassandradatabase
    View on GitHub↗18,118
  • amacneil/dbmateamacneil avatar

    amacneil/dbmate

    6,954View on GitHub↗

    Dbmate is a framework-agnostic SQL database migration tool used for tracking, applying, and rolling back schema changes to ensure consistent environments. It functions as a database schema versioning tool that manages updates independently of any specific application framework by relying on raw SQL and connection URLs. The project distinguishes itself by offering a container-based approach to database administration, allowing schema updates to be executed via Docker to avoid local binary installations. It also supports embedding migration scripts directly into the compiled binary to eliminate

    Goclickhousecppdatabase
    View on GitHub↗6,954
  • ariga/atlasariga avatar

    ariga/atlas

    8,096View on GitHub↗

    Atlas is a SQL database schema management tool and database infrastructure as code framework. It provides a declarative database migration engine that computes the difference between a desired schema state and the current database state to automatically generate the necessary SQL for transitions. The project distinguishes itself through a comprehensive suite of analysis and visualization tools, including a database schema linter that detects destructive changes and data loss risks. It also features a SQL schema visualization tool capable of generating entity-relationship diagrams from extract

    Go
    View on GitHub↗8,096
  • mattes/migratemattes avatar

    mattes/migrate

    2,282View on GitHub↗

    This project is a database schema migration engine that provides a command-line interface and a library for managing sequential structural changes. It functions as a version control utility for database schemas, enabling the application, reversion, and synchronization of incremental updates across development and production environments. The tool distinguishes itself through a driver-based abstraction layer that supports a wide range of relational and non-relational storage systems. It maintains schema consistency by using a dedicated metadata table to track versions and prevent concurrent up

    Goaws-s3cassandracrate
    View on GitHub↗2,282
Compare all 30 related projects→