Under what circumstances (if any) would you allow an application to change its underlying database schema? I.e. to add new column.
EDIT: A little bit of elaboration on what prompted me to ash this question. My system receives raport files from other systems and saves fetched data in "reports" table. Report includes several "parameters" which are now hard-coded: date, amount, unit_price. This parameters are saved in adequate columns in "reports" table. We need to introduce the possibility of dynamically (via web interface) adding new parameters which can be read from report file and inserted to db.
One option is to save reports in some serialized form but there's performance issue. There will be thousands of reports each day and there will be a need to query "reports" table by parameters' values.