Class AbstractTopiaMigrationCallback

java.lang.Object
org.nuiton.topia.migration.AbstractTopiaMigrationCallback
Direct Known Subclasses:
TopiaMigrationCallbackByClass, TopiaMigrationCallbackByClassNG, TopiaMigrationCallbackByMethod

public abstract class AbstractTopiaMigrationCallback extends Object
Abstract migration callback.
Since:
2.5
Author:
Tony Chemit - chemit@codelutin.com
  • 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 version
      versions - the versions to update
      Returns:
      false if migration is canceled, true otherwise.
    • 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 parametre 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.
      Parameters:
      versionConfiguration - configuration Hibernate permettant d'accéder à la base
      dbVersion - database version
      showSql - drapeau pour afficher les requete sql
      showProgression - drapeau pour afficher la progression
      versions - all versions knwon by service @return migration a ggrement
      Returns:
      true si la migration est accepté, false autrement.
    • executeSQL

      public void executeSQL(TopiaSqlSupport sqlSupport, String... sqls) throws TopiaException
      Throws:
      TopiaException
    • executeSQL

      public void executeSQL(TopiaSqlSupport sqlSupport, boolean showSql, boolean showProgression, String... sqls) throws TopiaException
      Executes the given sqls requests.
      Parameters:
      showSql - flag to see sql requests
      showProgression - flag to see progession on console
      sqls - requests to execute
      Throws:
      TopiaException - if any pb
      Since:
      2.3.0