Flyway
dbmate
Our great sponsors
Flyway | dbmate | |
---|---|---|
79 | 24 | |
7,728 | 4,252 | |
1.1% | - | |
7.2 | 7.9 | |
14 days ago | 9 days ago | |
Java | Go | |
Apache License 2.0 | 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.
Flyway
-
PostgreSQL Is Enough
There is a bit of tooling needed but is already around. For Java for example I had very good experience with a combination of flyway [1] for migrations, testcontainers [2] for making integration tests as easy as unit tests and querydsl [3] for a query and mapping layer.
[1] https://github.com/flyway/flyway
[2] https://java.testcontainers.org/modules/databases/postgres/
-
CI/CD for Databricks
If you're looking for tools, like https://www.liquibase.com/ or https://flywaydb.org/, which are database-state-based schema migration toolkits - it might be relatively straightforward to build similar ones using Databricks SQL drivers.
-
Working with jOOQ and Flyway using Testcontainers
Honestly I kind of wish there was a Lukas Eder database migration library. Call it whatever jooq-migration. At least I would have more insight of what is going on (<-- seriously look at the commit history).
-
Strategy to run database scripts on Kubernetes
This is a 4th option, which should play nice with ArgoCD. The following example runs flyway as a k8s job. The desired migration changes are recorded as files within the chart. This helm chart can be integrated with your application (Using hooks to determine when the migration job is run) or run manually.
-
How do your teams run DB migrations?
By using an opinionated framework within the app/service (like Flyway, Migrate, Diesel, etc). Schema migrations happen on app/service start-up.
-
Version control for database used by C# app
Flyway
-
Using Flyway for Database Setup
The grown-up way of creating a database schema is migrations, and no-one ever got fired for choosing Flyway (https://flywaydb.org/), so that's what we'll investigate today. By the end we are able to create the same schema as Exposed was creating, and then, as a second migration, add some constraints to the items table to reflect the reality of our data. And the transition from Exposed to jOOQ is complete!
-
How to run DB migrations in CICD Pipeline
We use https://flywaydb.org/. You can do the migration before or during service start-up. We do it during.
-
🏅 Http4k: Top 5 Server-Side Frameworks for Kotlin in 2022
We just create the greetings table if it does not exist (instead of any database migration library like flyway)
-
How to people organize their Repos?
Also, from the "DevOps" point of view, this totally depends on what you want to achieve. If is a project that has changes on the database (new views, new tables...) on a regular basis I would consider using https://flywaydb.org/ in the pipeline.
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?
alembic - A database migrations tool for SQLAlchemy.
HikariCP - 光 HikariCP・A solid, high-performance, JDBC connection pool at last.
goose - A database migration tool. Supports SQL migrations and Go functions.
sqlite-bench - PostgreSQL & SQLite Speed Test
roundhouse - RoundhousE is a Database Migration Utility for .NET using sql files and versioning based on source control
H2 - H2 is an embeddable RDBMS written in Java.
Hibernate - Hibernate's core Object/Relational Mapping functionality
Apache Hive - Apache Hive
liquibase - Main Liquibase Source
JDBI - The Jdbi library provides convenient, idiomatic access to relational databases in Java and other JVM technologies such as Kotlin, Clojure or Scala.
migra - Like diff but for PostgreSQL schemas