Menu

Deployment Rollback Gets Complicated When the Database Has Moved On
📰

Deployment Rollback Gets Complicated When the Database Has Moved On

DEV Community: django·Umer Amin Durrani·4 days ago
#LkPh0L9h
#devtodjango#devto#dev#devops#architecture
Reading 0:00
15s threshold

“Just roll it back.”

A beautiful sentence. Four words. Very relaxing.

Then someone asks whether the previous application still understands the new database schema, and suddenly everyone's tea is going cold.

Rolling back an application release is not necessarily the same as restoring the whole system to an earlier state. Writes, migrations, jobs and external effects may have continued after deployment.

Let's work through an illustrative Django application. No customer incident or measured outcome is being claimed here.

The innocent-looking change

Suppose a customer table has a full_name column. A new release introduces separate given_name and family_name fields.

A direct replacement sounds neat:

Remove full_name .

Add the new fields.

Deploy the new application.

But an older application instance may still read full_name .…

Continue reading — create a free account

Join HashtagPLUS to read full articles, follow hashtags, vote, and join the conversation.