Because the issue of transformation of the available data, then individually for each task.
Start from here: https://habrahabr.ru/post/146901/
And, in fact, to come to the conclusion that it is better to leave it as is in a single field. If some areas need other forms of calls - to register them explicitly, and not designing on an existing misconceptions about the name.
0) is an additional backup
1) rolls alter table to add new fields
2) rolls out the application, able to write simultaneously the new and old structure, but reading only the old
3) a separate process in the cycle of small pieces is converted to the data - if it is subject to automatic processing
4) roll out the application using only the new structure
5) is backed up and deleted the original structure
For only some thousands of records may be easier to lock the plate for a few seconds.
If trivial automatics is not processed, it often, instead of 3 points make unloading primary key, source_data, somehow change and prepare csv primary key, source_data, new_data, copy to temporary table, then doing the merge multitabling update these two tables with recheck'ω source_data. Then unload the data which are not updating, we understand, again, update, etc. just to fill.