postgresql-migrations
goose
postgresql-migrations | goose | |
---|---|---|
1 | 28 | |
46 | 5,684 | |
- | 4.4% | |
10.0 | 8.9 | |
over 4 years ago | 3 days ago | |
PLpgSQL | Go | |
MIT License | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
postgresql-migrations
-
What migration/versioning tool do you use?
I wrote my own simple solution, and I (and some others) have used it with some success in a few commercial projects. https://github.com/purcell/postgresql-migrations
goose
-
Recent improvements to the pressly/goose migration tool
In v3.16.0 we added a new Provider feature that unlocks the ability to implement a lot of highly requested features. More details in the blog post:
- How are y'all that are using raw sql doing DB Migrations?
- Why elixir over Golang
- Is there a similar tool or alternative in Go like strong_migrations?
-
How do you handle migrations ?
Next try https://github.com/pressly/goose We have this setup to be run by the CI-CD pipeline to be run before the application is started. BTW, this utility is compatible with https://sqlc.dev , so they work good together.
-
Does this project structure make sense?
For database migration I recommend https://github.com/pressly/goose As it works with sqlc and is a powerful tool for complex migrations. This is something a lot of ORMs are really weak with. I was on a large project with Gorm as the ORM and what a nightmare when we pushed to production!
- Are there any decent ORMs in Golang?
- Don't Mock the Database
-
Writing tests for APIs
goose https://github.com/pressly/goose - data migration and seed data creation
-
A beginner's guide to creating a web-app in Go using Ent
I'm using .sql migration files with tooling similar to https://github.com/pressly/goose . Is there a way to manage my schema with my pre-existing tooling and my queries/CRUD operations with Ent/Atlas?
What are some alternatives?
alembic - A database migrations tool for SQLAlchemy.
migrate - Database migrations. CLI and Golang library.
tern - The SQL Fan's Migrator
dbmate - :rocket: A lightweight, framework-agnostic database migration tool.
bytebase - The GitLab/GitHub for database DevOps. World's most advanced database DevOps and CI/CD for Developer, DBA and Platform Engineering teams.
go-migrate - Abstract task migration tool written in Go for Golang services. Database and non database migration management brought to the CLI. [Moved to: https://github.com/g14a/metana]
liquibase - Main Liquibase Source
pig - Simple pgx wrapper to execute and scan query results
atlas - Manage your database schema as code
database-lab-engine - DBLab enables 🖖 database branching and ⚡️ thin cloning for any Postgres database and empowers DB testing in CI/CD. This optimizes database-related costs while improving time-to-market and software quality. Follow to stay updated.