72139da53130b6ff9b35c9456643619b2d07c404
[cdmlib.git] / cdmlib-persistence / src / main / java / eu / etaxonomy / cdm / database / update / v512_515 / SchemaUpdater_5150_5151.java
1 /**
2 * Copyright (C) 2007 EDIT
3 * European Distributed Institute of Taxonomy
4 * http://www.e-taxonomy.eu
5 *
6 * The contents of this file are subject to the Mozilla Public License Version 1.1
7 * See LICENSE.TXT at the top of this package for the full license terms.
8 */
9
10 package eu.etaxonomy.cdm.database.update.v512_515;
11
12 import java.util.ArrayList;
13 import java.util.List;
14
15 import org.apache.logging.log4j.LogManager;import org.apache.logging.log4j.Logger;
16
17 import eu.etaxonomy.cdm.database.update.ColumnRemover;
18 import eu.etaxonomy.cdm.database.update.ISchemaUpdater;
19 import eu.etaxonomy.cdm.database.update.ISchemaUpdaterStep;
20 import eu.etaxonomy.cdm.database.update.SchemaUpdaterBase;
21 import eu.etaxonomy.cdm.database.update.TableCreator;
22 import eu.etaxonomy.cdm.model.metadata.CdmMetaData.CdmVersion;
23
24 /**
25 * @author a.mueller
26 * @date 10.06.2020
27 */
28 public class SchemaUpdater_5150_5151 extends SchemaUpdaterBase {
29
30 @SuppressWarnings("unused")
31 private static final Logger logger = LogManager.getLogger(SchemaUpdater_5150_5151.class);
32
33 private static final CdmVersion startSchemaVersion = CdmVersion.V_05_15_00;
34 private static final CdmVersion endSchemaVersion = CdmVersion.V_05_15_01;
35
36 // ********************** FACTORY METHOD *************************************
37
38 public static SchemaUpdater_5150_5151 NewInstance() {
39 return new SchemaUpdater_5150_5151();
40 }
41
42 protected SchemaUpdater_5150_5151() {
43 super(startSchemaVersion.versionString(), endSchemaVersion.versionString());
44 }
45
46 @Override
47 protected List<ISchemaUpdaterStep> getUpdaterList() {
48
49 String stepName;
50 String tableName;
51 String columnName;
52
53 List<ISchemaUpdaterStep> stepList = new ArrayList<>();
54
55 //#9037 Remove column supportsXXX
56 stepName = "Remove column supportscategoricaldata";
57 tableName = "DefinedTermBase";
58 columnName = "supportscategoricaldata";
59 ColumnRemover.NewInstance(stepList, stepName, tableName, columnName, INCLUDE_AUDIT);
60
61 stepName = "Remove column supportscommontaxonname";
62 columnName = "supportscommontaxonname";
63 ColumnRemover.NewInstance(stepList, stepName, tableName, columnName, INCLUDE_AUDIT);
64
65 stepName = "Remove column supportsdistribution";
66 columnName = "supportsdistribution";
67 ColumnRemover.NewInstance(stepList, stepName, tableName, columnName, INCLUDE_AUDIT);
68
69 stepName = "Remove column supportsindividualassociation";
70 columnName = "supportsindividualassociation";
71 ColumnRemover.NewInstance(stepList, stepName, tableName, columnName, INCLUDE_AUDIT);
72
73 stepName = "Remove column supportsquantitativedata";
74 columnName = "supportsquantitativedata";
75 ColumnRemover.NewInstance(stepList, stepName, tableName, columnName, INCLUDE_AUDIT);
76
77 stepName = "Remove column supportstaxoninteraction";
78 columnName = "supportstaxoninteraction";
79 ColumnRemover.NewInstance(stepList, stepName, tableName, columnName, INCLUDE_AUDIT);
80
81 stepName = "Remove column supportstextdata";
82 columnName = "supportstextdata";
83 ColumnRemover.NewInstance(stepList, stepName, tableName, columnName, INCLUDE_AUDIT);
84
85 //#9036 Remove column unplaced, excluded, doubtful
86 stepName = "Remove column excluded";
87 tableName = "TaxonNode";
88 columnName = "excluded";
89 ColumnRemover.NewInstance(stepList, stepName, tableName, columnName, INCLUDE_AUDIT);
90
91 stepName = "Remove column unplaced";
92 columnName = "unplaced";
93 ColumnRemover.NewInstance(stepList, stepName, tableName, columnName, INCLUDE_AUDIT);
94
95 stepName = "Remove column doubtful";
96 columnName = "doubtful";
97 ColumnRemover.NewInstance(stepList, stepName, tableName, columnName, INCLUDE_AUDIT);
98
99 //#9009
100 stepName = "Create MediaMetaData table";
101 tableName = "MediaMetaData";
102 String[] columnNames = new String[]{"pairkey","pairvalue","mediarepresentation_id"};
103 String[] columnTypes = new String[]{"string_255","string_255","int"};
104 String[] referencedTables = new String[]{null,null,"MediaRepresentationPart"};
105 TableCreator.NewAuditedCdmBaseInstance(stepList, stepName, tableName, columnNames, columnTypes, referencedTables);
106
107 return stepList;
108 }
109
110 @Override
111 public ISchemaUpdater getPreviousUpdater() {
112 return SchemaUpdater_5120_5150.NewInstance();
113 }
114 }