Product
Zero-Config Database Migrations on Deploy
Mike Koltsov
Apr 13, 2026 · 1 min read
The forgotten migration problem
Every Rails, Django, and Phoenix developer has been here: you push a feature, the deploy succeeds, and the app crashes with a missing column error. You forgot to run rake db:migrate. Or someone else did. Or the CI step that was supposed to run it silently failed.
This is the kind of bug that shouldn't exist in 2026, but somehow still does on most platforms.
FluxNow turns the classic “forgot to run migrations” outage into a non-event by auto-detecting and reliably running your release/migration command before every deploy, using Kubernetes init containers.
Key ideas:
- Automatic detection
- Scans your repo on onboarding for framework signals:
Gemfile→ Ruby / Railsmanage.py→ Python / Djangomix.exs→ Elixir / Phoenixprisma/schema.prisma→ PrismaProcfile→ Heroku-stylereleasedirective- If a
Procfileexists and hasrelease: ..., FluxNow uses that command. - If not, it falls back to framework defaults:
- Rails (
config/application.rb) →bundle exec rake db:migrate - Django (
manage.py) →python manage.py migrate - Phoenix (
mix.exs) →mix ecto.migrate - Prisma (
prisma/schema.prisma) →npx prisma migrate deploy - Config generation
- Detected command is written into
fluxnow.yaml:
version: v1
kind: Service
name: my-app
# FluxNow detected Rails — release command auto-generated.
# Edit this to override, or add a release: line to your Procfile.
release: bundle exec rake db:migrate
Related posts
Product From PR to Production in Under 10 Minutes How FluxNow's preview-first deployment pipeline gets your backend changes live faster than making coffee — with zero infrastructure anxiety. Why We Built FluxNow We kept rebuilding the same deployment stack for every project. One Tuesday night, we decided to stop.