From 7aae56dab42b0744b1b21e7bc6b8e2a3e8d6fa18 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Andreas=20M=C3=BCller?= Date: Fri, 2 Jul 2021 13:05:06 +0200 Subject: [PATCH] ref #4311 move update script for collector title to 5.25.1 --- .../v523_525/CollectorTitleUpdater.java | 4 ++ .../v523_525/SchemaUpdater_5230_5250.java | 2 +- .../v523_525/SchemaUpdater_5250_5251.java | 62 +++++++++++++++++++ 3 files changed, 67 insertions(+), 1 deletion(-) create mode 100644 cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/database/update/v523_525/SchemaUpdater_5250_5251.java diff --git a/cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/database/update/v523_525/CollectorTitleUpdater.java b/cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/database/update/v523_525/CollectorTitleUpdater.java index fb7deeefa3..b330c61235 100644 --- a/cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/database/update/v523_525/CollectorTitleUpdater.java +++ b/cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/database/update/v523_525/CollectorTitleUpdater.java @@ -55,6 +55,10 @@ public class CollectorTitleUpdater extends SchemaUpdaterStepBase { String sql = "UPDATE @@AgentBase@@ SET collectorTitleCache = titleCache WHERE DTYPE = 'Person' OR DTYPE = 'Team'"; datasource.executeUpdate(caseType.replaceTableNames(sql)); + //to remove changes previously made in SchemaUpdater_5230_5250 before handlePerson() was adapted + sql = "UPDATE @@AgentBase@@ SET collectorTitle = NULL WHERE DTYPE = 'Person'"; + datasource.executeUpdate(caseType.replaceTableNames(sql)); + //for teams being part of gathering event sql = " SELECT ab.* FROM @@AgentBase@@ ab WHERE id IN (SELECT actor_id FROM @@GatheringEvent@@) "; ResultSet rs = datasource.executeQuery(caseType.replaceTableNames(sql)); diff --git a/cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/database/update/v523_525/SchemaUpdater_5230_5250.java b/cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/database/update/v523_525/SchemaUpdater_5230_5250.java index 2c152e9e64..e886d65d5e 100644 --- a/cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/database/update/v523_525/SchemaUpdater_5230_5250.java +++ b/cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/database/update/v523_525/SchemaUpdater_5230_5250.java @@ -58,7 +58,7 @@ public class SchemaUpdater_5230_5250 extends SchemaUpdaterBase { int length = 800; ColumnAdder.NewStringInstance(stepList, stepName, tableName, newColumnName, length, INCLUDE_AUDIT); - CollectorTitleUpdater.NewInstance(stepList); +// CollectorTitleUpdater.NewInstance(stepList); => moved to SchemaUpdater_5250_5251 //#9664 #4311 stepName = "Add nomenclaturalTitleCache to AgentBase"; diff --git a/cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/database/update/v523_525/SchemaUpdater_5250_5251.java b/cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/database/update/v523_525/SchemaUpdater_5250_5251.java new file mode 100644 index 0000000000..c85e280118 --- /dev/null +++ b/cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/database/update/v523_525/SchemaUpdater_5250_5251.java @@ -0,0 +1,62 @@ +/** + * Copyright (C) 2007 EDIT + * European Distributed Institute of Taxonomy + * http://www.e-taxonomy.eu + * + * The contents of this file are subject to the Mozilla Public License Version 1.1 + * See LICENSE.TXT at the top of this package for the full license terms. + */ +package eu.etaxonomy.cdm.database.update.v523_525; + +import java.util.ArrayList; +import java.util.List; + +import org.apache.log4j.Logger; + +import eu.etaxonomy.cdm.database.update.ISchemaUpdater; +import eu.etaxonomy.cdm.database.update.ISchemaUpdaterStep; +import eu.etaxonomy.cdm.database.update.SchemaUpdaterBase; +import eu.etaxonomy.cdm.database.update.v522_523.SchemaUpdater_5220_5230; +import eu.etaxonomy.cdm.model.metadata.CdmMetaData.CdmVersion; + +/** + * @author a.mueller + * @date 22.04.2021 + */ +public class SchemaUpdater_5250_5251 extends SchemaUpdaterBase { + + @SuppressWarnings("unused") + private static final Logger logger = Logger.getLogger(SchemaUpdater_5250_5251.class); + + private static final CdmVersion startSchemaVersion = CdmVersion.V_05_25_00; + private static final CdmVersion endSchemaVersion = CdmVersion.V_05_25_01; + +// ********************** FACTORY METHOD ************************************* + + public static SchemaUpdater_5250_5251 NewInstance() { + return new SchemaUpdater_5250_5251(); + } + + protected SchemaUpdater_5250_5251() { + super(startSchemaVersion.versionString(), endSchemaVersion.versionString()); + } + + @Override + protected List getUpdaterList() { + + String stepName; + String tableName; + String newColumnName; + + List stepList = new ArrayList<>(); + + CollectorTitleUpdater.NewInstance(stepList); + + return stepList; + } + + @Override + public ISchemaUpdater getPreviousUpdater() { + return SchemaUpdater_5220_5230.NewInstance(); + } +} \ No newline at end of file -- 2.34.1