strong_migrations
safe-pg-migrations
Our great sponsors
strong_migrations | safe-pg-migrations | |
---|---|---|
16 | 6 | |
3,808 | 472 | |
- | 1.3% | |
8.1 | 8.4 | |
17 days ago | 30 days ago | |
Ruby | Ruby | |
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.
strong_migrations
-
Must-have gems for mature Rails
gem "strong_migrations" - https://github.com/ankane/strong_migrations | Helps devs write non-blocking migrations, a must-have.
-
How does Rails handle out of order migrations (when working on different local branches)
There’s no real way to test, but you can use gems like https://github.com/ankane/strong_migrations and not allow to merge branches unless they are up-to-date with main.
-
When Postgres blocks: tips for dealing with locks
Half of the problems in this article are migration related.
I am extremely grateful that some people have created awesome libraries like strong migrations https://github.com/ankane/strong_migrations. Even if you are not using rails, bookmark its readme, it is an awesome cheat-sheet when writing a migration.
- Best practices as code using RuboCop
-
Why I Enjoy PostgreSQL – Infrastructure Engineer's Perspective
I would suggest taking a look at strong migrations[1]. It's a rails project, but the readme does a great job explaining what it checks for and what safe alternative to use instead. I still link to their explanations in PRs for non-rails projects.
-
Database... or Goose?
Nice one! Personally, I've been using https://github.com/ankane/strong_migrations to cover this case.
-
Ten Ruby gems for Rails you should definitely know about
StrongMigrations
-
Elixir and Phoenix after two years
> Ecto prevents N+1 queries by default, which I think is clearly better.
To be fair...
If you want to protect yourself from these with Rails you can install Bullet[0] and get protection through in your face notifications, and you have the option to let it slide because you're taking advantage of caching with Rails and in this case you know what you're getting into and the N+1 query with caching ends up being better because you understand your domain.
Rails also has the strong migrations[1] gem which is a huge help for not shooting yourself in the foot for running migrations in production by helping you avoid table locks and other issues / errors. But AFAIK there's no Ecto equivalent, but strong migrations is really really useful.
Rails also has the data-migrate gem which is a nice little abstraction for splitting out your schema changes and backfilling data in an automated way. There's nothing like with Ecto. This one isn't as useful as strong migrations IMO but it's still very handy to have this problem taken care of for you without having to re-invent a new strategy in every project or copy code over.
Basically all 3 of these things are something I'd use in every project in Rails but with Phoenix I wouldn't have these things except for N+1 query protection.
[0]: https://github.com/flyerhzm/bullet
safe-pg-migrations
- Show HN: Zero-downtime PostgreSQL migrations for Ruby on Rails
-
Database... or Goose?
ps. the gem being showcased here is https://github.com/doctolib/safe-pg-migrations
What are some alternatives?
money-rails - Integration of RubyMoney - Money with Rails
phony_rails - This Gem adds useful methods to your Rails app to validate, display and save phone numbers. It uses the super awesome Phony gem (https://github.com/floere/phony).
lockbox - Modern encryption for Ruby and Rails
data-migrate - Migrate and update data alongside your database structure.
Pagy - 🏆 The Best Pagination Ruby Gem 🥇
ghost_adapter - Run ActiveRecord migrations through gh-ost
migration_signature - Generate signatures for Rails migration files when they are run and check them in CI.
Large Hadron Migrator - Online MySQL schema migrations
pg-osc - Easy CLI tool for making zero downtime schema changes and backfills in PostgreSQL
online_migrations - Catch unsafe PostgreSQL migrations in development and run them easier in production (code helpers for table/column renaming, changing column type, adding columns with default, background migrations, etc).