In a pretty agile development of a project, the most problematic thing for frequent updates is refactoring of table and column naming.
When we work on code that is not high-risk, we can just add a column or a table in the Production database and keep on working with the real data - omitting the hassle of update scripts and updating our TestDb with the latest data from the ProductionDb.
Just add the column, add a default value to it. Nothing really scary in this case. Everything keeps working, no downtime, no hassle of Update scripts.
Problem
Sometimes we want to refactor column names, because they were not choses very well on afterthought.
I was wondering if something like this is possible:
- Give a (semi)permanent 'second name' to a column (or table)
- Production server talks to the OldName
- Development talks to the NewName
- When the new version is deployed we can remove the OldName alias
Result: The column/table name is refactored without any downtime, or update scripts.
Is this possible? We use Entity Framework and SQL Azure.