This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See http://git.codelutin.com/observe.git commit 1a2fc2aad94701df72dc4e9b49d83fd6641f1fe8 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Aug 27 15:51:02 2015 +0200 Ajout d'une migration 4.0.2 en déplaçant le code posant problème pour PG en 4.0.2 (See #7467) --- .../migration/AbstractDataSourceMigration.java | 4 +- .../DataSourceMigrationForVersion_4_0_1.java | 20 ++++-- .../DataSourceMigrationForVersion_4_0_2.java | 75 ++++++++++++++++++++++ .../{4.0.1 => 4.0.2}/remove-gender-column-PG.sql | 2 +- 4 files changed, 93 insertions(+), 8 deletions(-) diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/migration/AbstractDataSourceMigration.java b/observe-entities/src/main/java/fr/ird/observe/entities/migration/AbstractDataSourceMigration.java index d711e3a..34d7e84 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/migration/AbstractDataSourceMigration.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/migration/AbstractDataSourceMigration.java @@ -85,10 +85,12 @@ public abstract class AbstractDataSourceMigration extends TopiaMigrationCallback public static final Version V_4_0_1 = Versions.valueOf("4.0.1"); + public static final Version V_4_0_2 = Versions.valueOf("4.0.2"); + /** Les versions de mise à jour disponibles. */ public static final Version[] availableVersions = new Version[]{ V_3_1, V_3_5, V_3_7, V_3_8, V_3_9, V_3_10, V_3_11, V_3_12, V_3_14, V_3_15, V_3_16, V_4_0_RC2, - V_4_0_RC3, V_4_0_RC4, V_4_0_RC6, V_4_0_RC7, V_4_0, V_4_0_1, V_5_0 + V_4_0_RC3, V_4_0_RC4, V_4_0_RC6, V_4_0_RC7, V_4_0, V_4_0_1, V_4_0_2, V_5_0 }; protected ObserveTopiaApplicationContext topiaApplicationContext; diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0_1.java b/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0_1.java index b4c6ebb..232113f 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0_1.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0_1.java @@ -24,15 +24,16 @@ package fr.ird.observe.entities.migration.versions; import com.google.common.collect.LinkedHashMultimap; import com.google.common.collect.Multimap; -import fr.ird.observe.ObserveTopiaIdFactory; import fr.ird.observe.entities.migration.AbstractDataSourceMigration; import fr.ird.observe.entities.migration.AbstractObserveMigrationCallBack; import fr.ird.observe.entities.migration.H2DataSourceMigration; import fr.ird.observe.entities.migration.PGDataSourceMigration; import fr.ird.observe.entities.seine.GearUseFeaturesMeasurementSeine; import fr.ird.observe.entities.seine.GearUseFeaturesSeine; -import org.nuiton.topia.persistence.support.TopiaSqlSupport; -import org.nuiton.topia.persistence.support.TopiaSqlWork; +import org.hibernate.jdbc.Work; +import org.nuiton.topia.TopiaException; +import org.nuiton.topia.framework.TopiaContextImplementor; +import org.nuiton.topia.persistence.TopiaId; import java.sql.Connection; import java.sql.PreparedStatement; @@ -63,9 +64,6 @@ public abstract class DataSourceMigrationForVersion_4_0_1 extends AbstractObserv boolean showSql, boolean showProgression) { - // See https://forge.codelutin.com/issues/7226 - addScript("remove-gender-column", queries); - // See https://forge.codelutin.com/issues/7229 removeForeignKeys(tx, queries); addScript("add-missing-fk", queries); @@ -182,6 +180,16 @@ public abstract class DataSourceMigrationForVersion_4_0_1 extends AbstractObserv } @Override + protected void prepareMigrationScript(TopiaSqlSupport tx, List<String> queries, boolean showSql, boolean showProgression) throws TopiaException { + + // See https://forge.codelutin.com/issues/7226 + addScript("remove-gender-column", queries); + + super.prepareMigrationScript(tx, queries, showSql, showProgression); + + } + + @Override protected void removeForeignKeys(TopiaSqlSupport tx, List<String> queries) { H2DataSourceMigration.removeFKIfExists(tx, "observe_seine", "FLOATINGOBJECT", "OBJECTTYPE", queries); diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0_2.java b/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0_2.java new file mode 100644 index 0000000..3cee5c7 --- /dev/null +++ b/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0_2.java @@ -0,0 +1,75 @@ +package fr.ird.observe.entities.migration.versions; + +/* + * #%L + * ObServe :: Entities + * %% + * Copyright (C) 2008 - 2015 IRD, Codelutin, Tony Chemit + * %% + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program. If not, see + * <http://www.gnu.org/licenses/gpl-3.0.html>. + * #L% + */ + +import fr.ird.observe.entities.migration.AbstractDataSourceMigration; +import fr.ird.observe.entities.migration.AbstractObserveMigrationCallBack; +import fr.ird.observe.entities.migration.H2DataSourceMigration; +import fr.ird.observe.entities.migration.PGDataSourceMigration; +import org.nuiton.topia.TopiaException; +import org.nuiton.topia.framework.TopiaContextImplementor; + +import java.util.List; + +/** + * Created on 6/8/15. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 4.0.1 + */ +public abstract class DataSourceMigrationForVersion_4_0_2 extends AbstractObserveMigrationCallBack { + + public DataSourceMigrationForVersion_4_0_2(AbstractDataSourceMigration callBack, String scriptSuffix) { + super(AbstractDataSourceMigration.V_4_0_2, callBack, scriptSuffix); + } + + public static class H2DataSourceMigrationForVersion extends DataSourceMigrationForVersion_4_0_2 { + + public H2DataSourceMigrationForVersion(AbstractDataSourceMigration callBack) { + super(callBack, H2DataSourceMigration.TYPE); + } + + @Override + protected void prepareMigrationScript(TopiaContextImplementor tx, List<String> queries, boolean showSql, boolean showProgression) throws TopiaException { + // Rien à faire (déjà fait en 4.0.1) + } + + } + + public static class PGDataSourceMigrationForVersion extends DataSourceMigrationForVersion_4_0_2 { + + public PGDataSourceMigrationForVersion(AbstractDataSourceMigration callBack) { + super(callBack, PGDataSourceMigration.TYPE); + } + + @Override + protected void prepareMigrationScript(TopiaContextImplementor tx, List<String> queries, boolean showSql, boolean showProgression) throws TopiaException { + + // See http://forge.codelutin.com/issues/7467 + addScript("remove-gender-column", queries); + + } + + } + +} diff --git a/observe-entities/src/main/resources/db/4.0.1/remove-gender-column-PG.sql b/observe-entities/src/main/resources/db/4.0.2/remove-gender-column-PG.sql similarity index 90% rename from observe-entities/src/main/resources/db/4.0.1/remove-gender-column-PG.sql rename to observe-entities/src/main/resources/db/4.0.2/remove-gender-column-PG.sql index aea6b29..e6c4337 100644 --- a/observe-entities/src/main/resources/db/4.0.1/remove-gender-column-PG.sql +++ b/observe-entities/src/main/resources/db/4.0.2/remove-gender-column-PG.sql @@ -19,4 +19,4 @@ -- <http://www.gnu.org/licenses/gpl-3.0.html>. -- #L% --- -ALTER TABLE observe_common.lengthweightparameter DROP COLUMN IF EXISTS gender; \ No newline at end of file +ALTER TABLE observe_common.lengthweightparameter DROP COLUMN gender; \ No newline at end of file -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.