Author: nrannou Date: 2009-08-18 18:37:56 +0200 (Tue, 18 Aug 2009) New Revision: 2734 Modified: trunk/pollen-business/src/main/java/org/chorem/pollen/business/migration/PollenMigrationCallbackHandler.java trunk/pom.xml Log: migration : utilisation du dialect Modified: trunk/pollen-business/src/main/java/org/chorem/pollen/business/migration/PollenMigrationCallbackHandler.java =================================================================== --- trunk/pollen-business/src/main/java/org/chorem/pollen/business/migration/PollenMigrationCallbackHandler.java 2009-08-18 14:15:45 UTC (rev 2733) +++ trunk/pollen-business/src/main/java/org/chorem/pollen/business/migration/PollenMigrationCallbackHandler.java 2009-08-18 16:37:56 UTC (rev 2734) @@ -19,8 +19,10 @@ import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.SQLException; + import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.hibernate.dialect.Dialect; import org.nuiton.topia.migration.DatabaseManager; import org.nuiton.topia.migration.callback.MigrationCallbackHandler; import org.nuiton.util.VersionUtil; @@ -47,6 +49,8 @@ + ", version de l'application : " + applicationVersion); } + Dialect dialect = dbManager.getDbConfiguration().buildSettings() + .getDialect(); MigrationChoice result = MigrationChoice.NO_MIGRATION; // ouverture d'une connexion direct JDBC sur la base @@ -56,7 +60,7 @@ conn.setAutoCommit(false); if (VersionUtil.valueOf(dbVersion).before( VersionUtil.valueOf("1.1"))) { - migrateTo1_1(conn); + migrateTo1_1(conn, dialect); } conn.commit(); result = MigrationChoice.CUSTOM_MIGRATION; @@ -73,15 +77,13 @@ } /** Migration de la version 0 à 1.1 */ - private void migrateTo1_1(Connection conn) throws SQLException { + private void migrateTo1_1(Connection conn, Dialect dialect) + throws SQLException { log.info("Migrate to version 1_1"); String[] sqls = null; - // Récupération du nom de la base de données - String product = conn.getMetaData().getDatabaseProductName(); - // Script de migration - if ("PostgreSQL".equals(product)) { + if ("org.hibernate.dialect.PostgreSQLDialect".equals(dialect)) { sqls = new String[] { "alter table useraccount rename langage to language;", "alter table pollaccount add accountid varchar;", @@ -91,7 +93,7 @@ "alter table vote add anonymous boolean default false;", "alter table preventrule add active boolean default true;", "alter table preventrule add onetime boolean default false;", }; - } else if ("H2".equals(product)) { + } else if ("org.hibernate.dialect.H2Dialect".equals(dialect)) { sqls = new String[] { "alter table useraccount alter column langage rename to language;", "alter table pollaccount add accountid varchar;", @@ -104,8 +106,8 @@ } else { if (log.isErrorEnabled()) { log - .error("Migration non prise en charge pour ce type de base : " - + product); + .error("Migration non prise en charge pour ce type de dialect : " + + dialect); } } Modified: trunk/pom.xml =================================================================== --- trunk/pom.xml 2009-08-18 14:15:45 UTC (rev 2733) +++ trunk/pom.xml 2009-08-18 16:37:56 UTC (rev 2734) @@ -268,7 +268,7 @@ <!-- customized versions --> <javadoc.version>2.4</javadoc.version> - <topia.version>2.2.0-rc-3</topia.version> + <topia.version>2.2.0-rc-5-SNAPSHOT</topia.version> <eugene.version>1.0.0-rc-7</eugene.version> <tapestry.version>5.1.0.5</tapestry.version>