1. store special xwiki data version number in database (svn revision number)
2. migrations will be like patches from one data version to another.
3. migrations runs from XWiki.initXWiki, after all store systems initialized, but xwiki initialization is not finish. So migrations can use store system. (high-level)
4. migration can be turned off at xwiki.cfg (off by default for tests. parameter xwiki.store.migration)
5. some migrations can be forced or ignored at xwiki.cfg (parameters xwiki.store.migration.ignore=verions, xwiki.store.migration.force=classnames)
1. How identify migrations?
Will it be class extends Migrator with name "R" + svn revision number + jiraIssue+"Migrator"?
2. How register migrations in migrationManager?
Register all classes in package "com.xpn.xwiki.store.migration.hibernate" via classloader?
Example use case: