Redesign hygiene: during a database redesign, is it typical to maintain at least two separate copies of the schema (for example, development and test) rather than working only against production?
-
ACorrect — at minimum dev and test schemas are maintained during redesign
-
BIncorrect — only production is needed during redesign
-
CApplies only when using ORMs
-
DDepends purely on whether the database is cloud hosted
Answer
Correct Answer: Correct — at minimum dev and test schemas are maintained during redesign
Explanation
Introduction / Context:Safe schema redesign requires separate environments to prototype changes, validate data migrations, and run regression tests without risking production integrity or availability.
Given Data / Assumptions:
- Separate dev, test/QA, and production environments exist.
- CI/CD processes apply migrations progressively.
- Representative data is available in non-prod for realistic testing.
Concept / Approach:Multiple schema copies support iterative design: developers experiment in dev; QA validates in test with realistic volumes; only then are changes promoted to prod. This approach reduces risk and surfaces performance or compatibility issues early.
Step-by-Step Solution:Clone schema (and anonymized data) into dev and test.Apply migration scripts; run unit/integration/performance tests.Fix issues; repeat until stable.Promote to production via controlled release.
Verification / Alternative check:Most SDLC best practices mandate ≥2 non-prod environments before production deployment.
Why Other Options Are Wrong:Relying solely on production is unsafe. ORM usage or hosting model does not remove the need for separate environments.
Common Pitfalls:Testing with unrealistic data sizes; skipping data migration rehearsals; inadequate rollback plans.
Final Answer:Correct — keep at least dev and test schema copies during redesign.