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 7e2a04dc1772ca8d049d1ed705d507f6704fa1d7 Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Apr 10 16:43:27 2015 +0200 refs 6934 ajout d'une migration 4.0-RC2 --- .../migration/AbstractDataSourceMigration.java | 3 +- .../DataSourceMigrationForVersion_4_0_RC2.java | 89 ++++++++++++++++++++++ .../db/4.0-RC2/clean-program-gear-type-H2.sql | 6 ++ .../db/4.0-RC2/clean-program-gear-type-PG.sql | 5 ++ .../src/main/xmi/observe-common.properties | 2 +- .../src/main/xmi/observe-longline.properties | 2 +- .../src/main/xmi/observe-seine.properties | 2 +- 7 files changed, 105 insertions(+), 4 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 c06246a..19d34b2 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 @@ -74,10 +74,11 @@ public abstract class AbstractDataSourceMigration extends TopiaMigrationCallback public static final Version V_3_15 = Versions.valueOf("3.15"); public static final Version V_3_16 = Versions.valueOf("3.16"); + public static final Version V_4_0_RC2 = Versions.valueOf("4.0-RC2"); /** 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_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 }; private static Supplier<ApplicationConfig> applicationConfigSupplier; diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0_RC2.java b/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0_RC2.java new file mode 100644 index 0000000..a782edc --- /dev/null +++ b/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0_RC2.java @@ -0,0 +1,89 @@ +package fr.ird.observe.entities.migration.versions; + +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.hibernate.jdbc.Work; +import org.nuiton.topia.TopiaException; +import org.nuiton.topia.framework.TopiaContextImplementor; + +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +/** + * Created on 4/10/15. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 4.0-RC2 + */ +public class DataSourceMigrationForVersion_4_0_RC2 extends AbstractObserveMigrationCallBack { + + public DataSourceMigrationForVersion_4_0_RC2(AbstractDataSourceMigration callBack, String scriptSuffix) { + super(AbstractDataSourceMigration.V_4_0_RC2, callBack, scriptSuffix); + } + + @Override + protected void prepareMigrationScript(TopiaContextImplementor tx, + List<String> queries, + boolean showSql, + boolean showProgression) throws TopiaException { + + + // recherche du nom de la constrainte + final Set<String> result = new HashSet<String>(); + + tx.getHibernate().doWork(new Work() { + + @Override + public void execute(Connection connection) throws SQLException { + + String sql = "select distinct (geartype||'') from observe_common.program"; + { + PreparedStatement ps = connection.prepareStatement(sql); + try { + ResultSet set = ps.executeQuery(); + while (set.next()) { + String gearType = set.getString(1); + result.add(gearType); + } + + } catch (Exception e) { + throw new SQLException("Could not obtain program gear types", e); + } finally { + ps.close(); + } + } + + } + }); + + if (result.contains("seine")) { + + addScript("clean-program-gear-type", queries); + } + + } + + public static class H2DataSourceMigrationForVersion extends DataSourceMigrationForVersion_4_0_RC2 { + + public H2DataSourceMigrationForVersion(AbstractDataSourceMigration callBack) { + super(callBack, H2DataSourceMigration.TYPE); + } + + } + + public static class PGDataSourceMigrationForVersion extends DataSourceMigrationForVersion_4_0_RC2 { + + public PGDataSourceMigrationForVersion(AbstractDataSourceMigration callBack) { + super(callBack, PGDataSourceMigration.TYPE); + } + + } + +} diff --git a/observe-entities/src/main/resources/db/4.0-RC2/clean-program-gear-type-H2.sql b/observe-entities/src/main/resources/db/4.0-RC2/clean-program-gear-type-H2.sql new file mode 100644 index 0000000..42561b2 --- /dev/null +++ b/observe-entities/src/main/resources/db/4.0-RC2/clean-program-gear-type-H2.sql @@ -0,0 +1,6 @@ +ALTER TABLE observe_common.program ADD COLUMN geartype2 int; +UPDATE observe_common.program set geartype2 = 0 WHERE geartype='seine'; +UPDATE observe_common.program set geartype2 = 1 WHERE geartype='longline'; +ALTER TABLE observe_common.program DROP COLUMN geartype; +ALTER TABLE observe_common.program ALTER COLUMN geartype2 RENAME TO geartype; + diff --git a/observe-entities/src/main/resources/db/4.0-RC2/clean-program-gear-type-PG.sql b/observe-entities/src/main/resources/db/4.0-RC2/clean-program-gear-type-PG.sql new file mode 100644 index 0000000..564f7dc --- /dev/null +++ b/observe-entities/src/main/resources/db/4.0-RC2/clean-program-gear-type-PG.sql @@ -0,0 +1,5 @@ +ALTER TABLE observe_common.program ADD COLUMN geartype2 int; +UPDATE observe_common.program set geartype2 = 0 WHERE geartype='seine'; +UPDATE observe_common.program set geartype2 = 1 WHERE geartype='longline'; +ALTER TABLE observe_common.program DROP COLUMN geartype; +ALTER TABLE observe_common.program RENAME geartype2 TO geartype; \ No newline at end of file diff --git a/observe-entities/src/main/xmi/observe-common.properties b/observe-entities/src/main/xmi/observe-common.properties index 1a1328d..23d3817 100644 --- a/observe-entities/src/main/xmi/observe-common.properties +++ b/observe-entities/src/main/xmi/observe-common.properties @@ -19,7 +19,7 @@ # <http://www.gnu.org/licenses/gpl-3.0.html>. # #L% ### -model.tagvalue.version=3.16 +model.tagvalue.version=4.0-RC2 model.tagvalue.notGenerateToString=true model.tagvalue.generateOperatorForDAOHelper=true model.tagvalue.generateStandaloneEnumForDAOHelper=true diff --git a/observe-entities/src/main/xmi/observe-longline.properties b/observe-entities/src/main/xmi/observe-longline.properties index 37f3b3f..b13b38b 100644 --- a/observe-entities/src/main/xmi/observe-longline.properties +++ b/observe-entities/src/main/xmi/observe-longline.properties @@ -19,7 +19,7 @@ # <http://www.gnu.org/licenses/gpl-3.0.html>. # #L% ### -model.tagvalue.version=3.16 +model.tagvalue.version=4.0-RC2 model.tagvalue.notGenerateToString=true model.tagvalue.generateOperatorForDAOHelper=true model.tagvalue.generateStandaloneEnumForDAOHelper=true diff --git a/observe-entities/src/main/xmi/observe-seine.properties b/observe-entities/src/main/xmi/observe-seine.properties index 10eb046..88335fb 100644 --- a/observe-entities/src/main/xmi/observe-seine.properties +++ b/observe-entities/src/main/xmi/observe-seine.properties @@ -20,7 +20,7 @@ # #L% ### -model.tagvalue.version=3.16 +model.tagvalue.version=4.0-RC2 model.tagvalue.notGenerateToString=true model.tagvalue.generateOperatorForDAOHelper=true model.tagvalue.generateStandaloneEnumForDAOHelper=true -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.