== Overview == * '''Launchpad entry:''' none yet * '''Created:''' 2008-09-25 by James Henstridge * '''Contributors:''' * '''Depends on:''' n/a === Summary === As an application evolves, it is common for both the code and database schema to change. When upgrading an installation of the application, it is necessary to migrate the schema and existing data to match the new application code. Since this is a common requirement of database driven applications, it would be useful for Storm to provide some infrastructure to manage such migrations. === Rationale === This should cover the _why_: why is this change being proposed, what justifies it, where we see this justified. === Use cases === This section should be a bulleted list of use cases which also include the user experience. Try to address who would use this, how they would use it, and what advantage it would be. === Assumptions === A list of assumptions should go here. This should include any assumptions about the users, the workflow, the implementation, the system this will reside on, the hardware requirements, access, etc.. Note that these are assumptions that everyone should believe are "business as usual". If you find yourself writing things which aren't, they are requirements and should be documented in the Implementation section below. == User Interface == This section should cover changes required to the UI, or specific UI features that are required to implement this. == Implementation == This section should describe a plan of action (the "how") to implement the changes discussed. This could include subsections in addition to what is provided in this spec template. == Unresolved issues == In this section list out any issues which are unresolved and will impact or block the implementation of this spec.