sql-migrate
dbmate
Our great sponsors
sql-migrate | dbmate | |
---|---|---|
9 | 24 | |
3,066 | 4,252 | |
- | - | |
6.7 | 7.9 | |
15 days ago | 9 days ago | |
Go | Go | |
MIT License | MIT License |
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.
sql-migrate
- GORM
-
How to seed database for testing?
I'd never did this with sqlite3, but I think sql-migrate should work (https://github.com/rubenv/sql-migrate)
-
Can anyone help me on how you are using golang with databases in production systems?
I use sqlboiler which generates an ORM from your database, and sql-migrate which is a tool for managing SQL migrations. Although you have to write your migrations in SQL, which IMHO is a plus.
-
Is there a DB framework that can manage migrations like Ruby on Rails ?
Currently a fan of this one https://github.com/rubenv/sql-migrate
-
Go Echo API Server Development
db migration by sql-migrate
- Most recommended database migration tool? using golang for the record
-
How do you install commands using go.mod
There are some packages in my project that are not used in the source code, but they're used as commands (i.e. https://github.com/vektra/mockery https://github.com/rubenv/sql-migrate).
-
What is the fastest way to clear my SQL database between integration tests?
Keep your migrations in the code repo and use a tool like sql-migrate to automatically apply them for you. At my job, we run a new container for each package's tests, and create a new db with the migration scripts for every test. It's certainly a bit slower, but the reproducibility is worth it.
dbmate
-
Level UP your RDBMS Productivity in GO
As we want to maintain the track of our changes to the DB, we are going to use migrations. In this case, we are going to use dbmate. But, you can use any other tool you want.
-
Rails 7.1 Released
> For example having database migrations built in etc.
I actually went the exact opposite route, at least when possible: https://github.com/amacneil/dbmate
Pure SQL migrations, regardless of the back end technology that you use, completely decoupled from how each framework/library views things and therefore not dependent on them (you could even rewrite the back end in another technology later on, if needed; or swap ORMs; or avoid issues when there's a major ORM version update).
It's really nice when you can generate entity mappings based on a live database, like with https://blog.jetbrains.com/dotnet/2022/01/31/entity-framewor...
So in my case, I can have:
* a DB that has migrations applied with dbmate, completely decoupled from any back end(s) that might use it
- FLaNK Stack Weekly 2 October 2023
-
How do your teams run DB migrations?
You can run dbmate as part of your CI/CD pipeline. You just keep a dbmate directory in your repo and deploy migrations with your code.
-
Working with TypeORM 0.3x with Nestjs - I wasn't aware so many people were facing issues with it
In general with ORMs, you will face a problem in one way or another. I ended up simply using https://github.com/gajus/slonik and https://github.com/amacneil/dbmate for migrations. My life is way much better since then.
-
what do you use for migrations? or how do you the sql tables and seeding?
I like dbmate, super simple and straightforward to use. For your specific use case, it can also be configured using your .env!
- GORM
-
New post: Is Prisma better than your 'traditional' ORM?
Would always go for a language agnostic migration tool, e.g. https://github.com/amacneil/dbmate to stay flexible and stay away from lock-in effects (besides sql).
- I greatly dislike ORMs, but I find myself wanting ORM agnostic SQL migration tools. What do you use to perform RDBMS table migrations outside of an ORM?
-
Instant Multi-Tenant GraphQL APIs with PostGraphile, RLS, and PropelAuth
For managing the schema, you’ll likely want to use a tool like dbmate or Flyway, which can help you update the database over time. For this tutorial, we’ll just create it directly:
What are some alternatives?
goose - A database migration tool. Supports SQL migrations and Go functions.
goose
sqlite-bench - PostgreSQL & SQLite Speed Test
Flyway - Flyway by Redgate • Database Migrations Made Easy.
liquibase - Main Liquibase Source
migra - Like diff but for PostgreSQL schemas
migrate - Database migrations. CLI and Golang library.
skeema - Declarative pure-SQL schema management for MySQL and MariaDB
SQLBoiler - Generate a Go ORM tailored to your database schema.
TinyGo - Go compiler for small places. Microcontrollers, WebAssembly (WASM/WASI), and command-line tools. Based on LLVM.
golang-samples - Sample apps and code written for Google Cloud in the Go programming language.
bytebase - The GitLab/GitHub for database DevOps. World's most advanced database DevOps and CI/CD for Developer, DBA and Platform Engineering teams.