Package org.nuiton.topia.migration
Class AbstractTopiaMigrationCallback
java.lang.Object
org.nuiton.topia.migration.AbstractTopiaMigrationCallback
- Direct Known Subclasses:
TopiaMigrationCallbackByClass,TopiaMigrationCallbackByClassNG,TopiaMigrationCallbackByMethod
Abstract migration callback.
- Since:
- 2.5
- Author:
- Tony Chemit - chemit@codelutin.com
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionabstract booleanHook to ask user if migration can be performed.booleandoMigration(org.hibernate.cfg.Configuration versionConfiguration, org.nuiton.version.Version dbVersion, boolean showSql, boolean showProgression, List<org.nuiton.version.Version> versions) Tentative de migration depuis la version de la base version la version souhaitee.voidexecuteSQL(TopiaSqlSupport sqlSupport, boolean showSql, boolean showProgression, String... sqls) Executes the givensqlsrequests.voidexecuteSQL(TopiaSqlSupport sqlSupport, String... sqls) abstract org.nuiton.version.Version[]protected abstract voidmigrateForVersion(org.nuiton.version.Version version, TopiaSqlSupport sqlSupport, boolean showSql, boolean showProgression)
-
Constructor Details
-
AbstractTopiaMigrationCallback
public AbstractTopiaMigrationCallback()
-
-
Method Details
-
getAvailableVersions
public abstract org.nuiton.version.Version[] getAvailableVersions()- Returns:
- the available versions from the call back
-
askUser
public abstract boolean askUser(org.nuiton.version.Version dbVersion, List<org.nuiton.version.Version> versions) Hook to ask user if migration can be performed.- Parameters:
dbVersion- the actual db versionversions- the versions to update- Returns:
falseif migration is canceled,trueotherwise.
-
migrateForVersion
protected abstract void migrateForVersion(org.nuiton.version.Version version, TopiaSqlSupport sqlSupport, boolean showSql, boolean showProgression) throws Exception - Throws:
Exception
-
doMigration
public boolean doMigration(org.hibernate.cfg.Configuration versionConfiguration, org.nuiton.version.Version dbVersion, boolean showSql, boolean showProgression, List<org.nuiton.version.Version> versions) Tentative de migration depuis la version de la base version la version souhaitee. On applique toutes les migrations de version indiquee dans le parametreversion. Pour chaque version, on cherche la methode migrateTo_XXX ou XXX est la version transforme en identifiant java via la methodeVersion.getValidName()et on l'execute. Note: pour chaque version a appliquer, on ouvre une nouvelle transaction.- Parameters:
versionConfiguration- configuration Hibernate permettant d'accéder à la basedbVersion- database versionshowSql- drapeau pour afficher les requete sqlshowProgression- drapeau pour afficher la progressionversions- all versions knwon by service @return migration a ggrement- Returns:
truesi la migration est accepté,falseautrement.
-
executeSQL
- Throws:
TopiaException
-
executeSQL
public void executeSQL(TopiaSqlSupport sqlSupport, boolean showSql, boolean showProgression, String... sqls) throws TopiaException Executes the givensqlsrequests.- Parameters:
showSql- flag to see sql requestsshowProgression- flag to see progession on consolesqls- requests to execute- Throws:
TopiaException- if any pb- Since:
- 2.3.0
-