Skip to content
PRACTICAL GUIDE

Plan a database cutover without forgetting new production orders

The database you imported last week is not the database your customers are using today.

Yepsy Editorial·4 min read

Draw the timeline

Mark the baseline capture, the candidate build and the intended cutover. Between those points, production may create orders, payments and uploaded files. List which data can change and how the final transition will account for it. A release plan that mentions only uploading code has not solved the data problem. Some applications require a controlled pause; others need a tested synchronization approach.

Separate schema changes from data mapping

Renaming a column is not the same as changing what its values mean. Document source and target fields, identities, relationships and the rules for transformed values. Test records that do not fit the common case. An old status may map to several new states depending on history; silently assigning a default can create a plausible-looking but incorrect application.

Rehearse a realistic copy

Use a permitted environment and compare record counts, key relationships and business totals where they are meaningful. Then run the important user journeys, including access restrictions. A row count alone cannot show that an invoice still belongs to the correct customer. Keep the rehearsal inputs and results tied to the migration and release versions so a later change invalidates the right evidence.

Define rollback in terms of new writes

After cutover, the new system may accept real work. Restoring an older backup can lose that work. Specify the rollback window, which writes are possible and how they would be reconciled. Require a responsible person to approve the transition and observe the results. This is an engineering plan for the particular application, not a promise that any migration is risk-free.

The copy from Monday is not Friday’s production database

A modernization starts from a database snapshot while the live business continues taking orders. By deployment day, the snapshot is stale. Replacing production with that copy would discard later activity even if every test in the preview passed. A cutover plan must account for records created, changed and deleted during development.

Choose an approach appropriate to the system: schema migrations applied to current data, a controlled write pause with a final synchronization, or a tested incremental migration. Record reconciliation rules for identifiers, totals and state transitions. Do not let an agent choose an irreversible strategy merely because a database import command succeeds.

DecisionUseful requirementEvidence
FreshnessInclude activity since the initial snapshot.Reconciliation counts and selected records.
SchemaApply changes to the correct live version.Migration rehearsal on a permitted copy.
RecoveryState what can actually be reversed.A tested restore or compensating procedure.

Where this goes wrong

Rolling back application code does not necessarily reverse a destructive data migration. A plan that says only “restore backup” is incomplete without the backup time, the loss window and the procedure for handling new activity. Important irreversible boundaries belong in owner approval.

A safe release plan accounts for the business activity that happens during development.

Turn it into a working checklist

  • Map the data-change timeline.
  • Test relationships as well as counts.
  • Rehearse the exact migration version.
  • Explain rollback after new writes.

A concrete next step

Prepare a cutover runbook with prerequisites, responsible people, stop conditions, verification queries and recovery steps. Rehearse the procedure in isolation and capture what was not reproducible before asking for a production decision.

Watch a related case

Modernize a working portal without losing its business rules2:18 · English