public abstract class AbstractTopiaMigrationCallback<PersistenceContext extends TopiaPersistenceContext> extends Object
| Constructor and Description |
|---|
AbstractTopiaMigrationCallback() |
| Modifier and Type | Method and Description |
|---|---|
abstract boolean |
askUser(org.nuiton.util.Version dbVersion,
List<org.nuiton.util.Version> versions)
Hook to ask user if migration can be performed.
|
boolean |
doMigration(TopiaApplicationContext<PersistenceContext> applicationContext,
org.nuiton.util.Version dbVersion,
boolean showSql,
boolean showProgression,
List<org.nuiton.util.Version> versions)
Tentative de migration depuis la version de la base version la version
souhaitee.
|
void |
executeSQL(PersistenceContext tx,
boolean showSql,
boolean showProgression,
String... sqls)
Executes the given
sqls requests. |
void |
executeSQL(PersistenceContext tx,
String... sqls) |
abstract org.nuiton.util.Version[] |
getAvailableVersions() |
protected abstract TopiaSqlSupport |
getSqlSupport(PersistenceContext persistenceContext)
Get the sql support used to execute sql queries.
|
protected abstract void |
migrateForVersion(org.nuiton.util.Version version,
PersistenceContext tx,
boolean showSql,
boolean showProgression) |
public abstract org.nuiton.util.Version[] getAvailableVersions()
public abstract boolean askUser(org.nuiton.util.Version dbVersion,
List<org.nuiton.util.Version> versions)
dbVersion - the actual db versionversions - the versions to updatefalse if migration is canceled, true otherwise.protected abstract TopiaSqlSupport getSqlSupport(PersistenceContext persistenceContext)
persistenceContext - persistence contextprotected abstract void migrateForVersion(org.nuiton.util.Version version,
PersistenceContext tx,
boolean showSql,
boolean showProgression)
throws Exception
Exceptionpublic boolean doMigration(TopiaApplicationContext<PersistenceContext> applicationContext, org.nuiton.util.Version dbVersion, boolean showSql, boolean showProgression, List<org.nuiton.util.Version> versions)
version.
Pour chaque version, on cherche la methode migrateTo_XXX ou XXX est la
version transforme en identifiant java via la methode
Version.getValidName() et on l'execute.
Note: pour chaque version a appliquer, on ouvre une nouvelle transaction.applicationContext - topia context de la transaction en coursdbVersion - database versionshowSql - drapeau pour afficher les requete sqlshowProgression - drapeau pour afficher la progressionversions - all versions knwon by service @return migration a
ggrementtrue si la migration est accepté, false autrement.public void executeSQL(PersistenceContext tx, String... sqls) throws TopiaException
TopiaExceptionpublic void executeSQL(PersistenceContext tx, boolean showSql, boolean showProgression, String... sqls) throws TopiaException
sqls requests.showSql - flag to see sql requestsshowProgression - flag to see progession on consolesqls - requests to executeTopiaException - if any pbCopyright © 2004–2014 CodeLutin. All rights reserved.