I'm designing an application which will in an early stage collect data A, B, and C from clients, but later on will instead collect data A, B, and D.
A, B, C, and D are very related and right now exist as columns of a single database PostgreSQL table T.
Once C is no longer needed, I want to remove its references from my application (I use the Django ORM), but I want to keep the data that was already entered. What is the best way to do so?
I've thought of creating a new table for ABD, but that means that might cause issues with any rows referencing table T.
I could just leave column C along, and remove references to it in the code, allowing the existing data to survive.
Is there a better option I'm not seeing?
Some extra details:
The number of rows will not be big, most likely 1-2 per user. This is a mass market application, but by the time I switch from C to D, the userbase will not be very large yet. C and D will likely not be collected at the same time, although that is a possibility. C and D likely represent multiple columns each, not just one each.