From 3d88a9ce55cd9588aa914eeb9ae826ae488fed55 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Andreas=20M=C3=BCller?= Date: Mon, 21 Jan 2019 23:31:55 +0100 Subject: [PATCH] fix #7683 fix ExternalLink_AUD.uuid allows null and fix TableCreator for future --- .../cdm/database/update/TableCreator.java | 5 +++-- .../update/v50_51/SchemaUpdater_50_55.java | 15 ++++++++++++--- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/database/update/TableCreator.java b/cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/database/update/TableCreator.java index f4bfa9f369..8f24217897 100644 --- a/cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/database/update/TableCreator.java +++ b/cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/database/update/TableCreator.java @@ -216,9 +216,10 @@ public class TableCreator extends AuditedSchemaUpdaterStepBase { } //CdmBase if (includeCdmBaseAttributes){ - updateQuery += " id integer NOT NULL," + String uuidNull = isAuditing? "": "NOT NULL"; + updateQuery += " id integer NOT NULL," + " created " + ColumnAdder.getDatabaseColumnType(datasource, "datetime") + ", " - + " uuid varchar(36) NOT NULL," + + " uuid varchar(36) "+uuidNull+"," + (excludeVersionableAttributes? "" : " updated " + ColumnAdder.getDatabaseColumnType(datasource, "datetime") + ", ") + " createdby_id integer," + (excludeVersionableAttributes ? "" : " updatedby_id integer, "); diff --git a/cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/database/update/v50_51/SchemaUpdater_50_55.java b/cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/database/update/v50_51/SchemaUpdater_50_55.java index 0e0d741255..5457822226 100644 --- a/cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/database/update/v50_51/SchemaUpdater_50_55.java +++ b/cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/database/update/v50_51/SchemaUpdater_50_55.java @@ -16,8 +16,8 @@ import java.util.UUID; import org.apache.log4j.Logger; import eu.etaxonomy.cdm.database.update.ColumnAdder; -import eu.etaxonomy.cdm.database.update.ColumnNameChanger; import eu.etaxonomy.cdm.database.update.ColumnRemover; +import eu.etaxonomy.cdm.database.update.ColumnTypeChanger; import eu.etaxonomy.cdm.database.update.ISchemaUpdater; import eu.etaxonomy.cdm.database.update.ISchemaUpdaterStep; import eu.etaxonomy.cdm.database.update.SchemaUpdaterBase; @@ -99,13 +99,22 @@ public class SchemaUpdater_50_55 extends SchemaUpdaterBase { String columnName = "value"; tableName = "CdmPreference"; // TODO check non MySQL and with existing data (probably does not exist) - step = ColumnNameChanger.NewClobInstance(stepName, tableName, - columnName, columnName, INCLUDE_AUDIT); + step = ColumnTypeChanger.NewClobInstance(stepName, tableName, + columnName, INCLUDE_AUDIT); stepList.add(step); //7857 update name realtionships updateNameRelationships(stepList); + //#7683 allow null for ExternalLink_AUD.uuid + stepName = "Allow null for ExternalLink_AUD.uuid "; + columnName = "uuid"; + tableName = "ExternalLink_AUD"; + // TODO check non MySQL and with existing data (probably does not exist) + step = ColumnTypeChanger.NewStringSizeInstance(stepName, tableName, columnName, 36, !INCLUDE_AUDIT); + stepList.add(step); + + return stepList; } -- 2.34.1