X
Xata•2mo ago
Ventston

Pgroll vs ariga/Atlas

Hello, Thanks for this great tool! I discovered pgroll while trying to improve my database migration management. I had also found ariga/Atlas ( https://github.com/ariga/atlas) and I can't find or identify the strengths and weaknesses of either tool. Can you help me compare the two tools? Thanks in advance 💚
2 Replies
tsg
tsg•2mo ago
hi, I'm not an expert on Atlas, so this is just from me reading their website. Here is my take at it: * Atlas is a comprehensive and opinionanted migration tool where you do everything through the Atlas tool. They are competing with things like Flyway and Liquibase and you are supposed to replace the ORM/framework migrations with the Atlas way of doing things. * pgroll focuses on Postgres only, and in particular on the migrations that are difficult: the ones that don't offer backwards compatibility, like adding/removing constraints, changing types, adding columns that require data backfilling. * pgroll does these by using Postgres views to offer both the old and the new version of the schema at the same time. And it uses views in order to keep columns hidden while they are backfilled. From what I know, no other tool has this functionality.
Ventston
Ventston•2mo ago
Thanks for the answer, I asked the same question to the Atlas team to get their point of view:
Personally I haven’t tried pgroll, so can’t comment on it. By looking at the main points it seems like a tool focused on online schema changes for Postgres. Atlas is a database schema as code tool which works with many more databases, includes adapter to most popular orms, has a solution for detecting dangerous migrations in CI, has robust terraform and k8s integration as well as a mature control plane in the cloud
the two tools don't seem quite comparable in their approach to database migration. I think it's great to have several schemas available at the same time with pgroll, facilitating testing and compatibility of applications in version N and N+1. I think it's great to have a tool that's compatible with ORMs and can perform diffs on database schemas with Atlas. I also really like your documentation, with detailed examples and clear diagrams. Thanks for all your hard work!
Want results from more Discord servers?
Add your server