{"repo":"padurean/gosmig","free":true,"listed":false,"github":"https://github.com/padurean/gosmig","clone":"git clone https://github.com/padurean/gosmig.git","description":"Simple, minimal SQL database migrations written in Go. Build your own migration CLI with it. Std lib database/sql and SQLX supported out of the box.","language":"Go","stars":75,"topics":["database","database-migrate-ext","database-migration","database-migrations","db-migrate","db-migration","db-migrations","dbmigrate","dbmigration","dbmigrator"],"license":"Unlicense","category":"databases-storage","readme_excerpt":"GoSMig &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ☆⋆｡𖦹°‧★🛸 Simple, minimal SQL migrations written in Go. Build your own migration CLI with it. Standard library database/sql and sqlx supported out of the box. See the examples for usage with both. Can be used with any database library that implements the standard interfaces. GoSMig 💫 in action: Features - [x] Database Agnostic - Works with any database that implements a subset of Go's standard database/sql interfaces (see the Core Types section lower for more details) - [x] Type-Safe - Full Go generics support for compile-time type safety - [x] Flexible - Supports both transactional and non-transactional migrations - [x] Simple - Minimal API with clear semantics - [x] CLI-Ready - No actual CLI is provided, but a built-in command-line interface handler makes it easy to build your own CLI tool - [x] Timeouts - Configurable operation timeouts - [x] Robust Error Handling - Validation, version conflict detection, transaction safety, and clear error messages - [x] Rollback Support - Safe migration rollbacks - [x] Status Tracking - View migration status with paging support - [x] Tested - Comprehensive test suite with PostgreSQL integration tests - [x] Zero Dependencies - No external dependencies, only the Go standard library (and golang.org/x/term for pager support - i.e. for pagination - in the status command output) ℹ️ NOTEs : - You will need a database driver (e.g., pgx for PostgreSQL) and optionally sqlx . - These are not dependencies of g","default_branch":null,"files":null,"tree":[],"storefront":"/r/padurean","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/padurean/gosmig/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}