Project

General

Profile

Download (7.2 KB) Statistics
| Branch: | Tag: | Revision:
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.v30_40;
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.ColumnAdder;
18
import eu.etaxonomy.cdm.database.update.ColumnNameChanger;
19
import eu.etaxonomy.cdm.database.update.ISchemaUpdater;
20
import eu.etaxonomy.cdm.database.update.ISchemaUpdaterStep;
21
import eu.etaxonomy.cdm.database.update.MnTableRemover;
22
import eu.etaxonomy.cdm.database.update.SchemaUpdaterBase;
23
import eu.etaxonomy.cdm.database.update.TableCreator;
24
import eu.etaxonomy.cdm.database.update.UniqueIndexDropper;
25

    
26
/**
27
 * @author a.mueller
28
 * @since Mar 01, 2015
29
 */
30
public class SchemaUpdater_35_36 extends SchemaUpdaterBase {
31

    
32
	@SuppressWarnings("unused")
33
	private static final Logger logger = LogManager.getLogger(SchemaUpdater_35_36.class);
34
	private static final String startSchemaVersion = "3.5.0.0.201531030000";
35
	private static final String endSchemaVersion = "3.6.0.0.201527040000";
36

    
37
	// ********************** FACTORY METHOD *************************************
38

    
39
	public static SchemaUpdater_35_36 NewInstance() {
40
		return new SchemaUpdater_35_36();
41
	}
42

    
43
	/**
44
	 * @param startSchemaVersion
45
	 * @param endSchemaVersion
46
	 */
47
	protected SchemaUpdater_35_36() {
48
		super(startSchemaVersion, endSchemaVersion);
49
	}
50

    
51
	@Override
52
	protected List<ISchemaUpdaterStep> getUpdaterList() {
53

    
54
		String stepName;
55
		String tableName;
56
//		String columnName;
57
		String newColumnName;
58
		String oldColumnName;
59
		String columnNames[];
60
		String referencedTables[];
61
		String columnTypes[];
62
//		boolean includeCdmBaseAttributes = false;
63

    
64
		List<ISchemaUpdaterStep> stepList = new ArrayList<>();
65

    
66
        //#4843
67
        //Allow NULL for DefinedTermBase_SupportedCategoricalEnumeration
68
		//.supportedcategoricalenumerations_id
69
        stepName = "Remove NOT NULL from supportedcategoricalenumerations_id";
70
        tableName = "DefinedTermBase_SupportedCategoricalEnumeration";
71
        oldColumnName = "supportedcategoricalenumerations_id";
72
        UniqueIndexDropper.NewInstance(stepList, tableName, oldColumnName, !INCLUDE_AUDIT);
73

    
74
        //#4843
75
        //Allow NULL for DefinedTermBase_RecommendedModifierEnumeration
76
        //.recommendedmodifierenumeration_id
77
        stepName = "Remove NOT NULL from recommendedmodifierenumeration_id";
78
        tableName = "DefinedTermBase_RecommendedModifierEnumeration";
79
        oldColumnName = "recommendedmodifierenumeration_id";
80
        UniqueIndexDropper.NewInstance(stepList, tableName, oldColumnName, ! INCLUDE_AUDIT);
81

    
82
        //add hasMoreMembers
83
        stepName = "Add hasMoreMembers to Team";
84
        tableName = "AgentBase";
85
        newColumnName = "hasMoreMembers";
86
        ColumnAdder.NewBooleanInstance(stepList, stepName, tableName, newColumnName, INCLUDE_AUDIT, false);
87

    
88
        //SingleReadAlignment firstSeqPosition
89
        stepName = "Add firstSeqPosition";
90
        tableName = "SingleReadAlignment";
91
        newColumnName = "firstSeqPosition";
92
        Integer defaultValue = null;
93
        boolean notNull = false;
94
        ColumnAdder.NewIntegerInstance(stepList, stepName, tableName, newColumnName, INCLUDE_AUDIT, defaultValue, notNull);
95

    
96
        //SingleReadAlignment leftCutPosition
97
        stepName = "Add leftCutPosition";
98
        tableName = "SingleReadAlignment";
99
        newColumnName = "leftCutPosition";
100
        ColumnAdder.NewIntegerInstance(stepList, stepName, tableName, newColumnName, INCLUDE_AUDIT, defaultValue, notNull);
101

    
102
        //SingleReadAlignment rightCutPosition
103
        stepName = "Add rightCutPosition";
104
        tableName = "SingleReadAlignment";
105
        newColumnName = "rightCutPosition";
106
        ColumnAdder.NewIntegerInstance(stepList, stepName, tableName, newColumnName, INCLUDE_AUDIT, defaultValue, notNull);
107

    
108
        //DescriptionElementBase_StateData
109
        stepName = "Simplify DescriptionElementBase_StateData";
110
        tableName = "DescriptionElementBase_StateData";
111
        newColumnName = "categoricaldata_id";
112
        MnTableRemover.NewInstance(stepList, stepName,
113
                tableName,
114
                newColumnName,
115
                "DescriptionElementBase_id",
116
                "statedata_id",
117
                "DescriptionElementBase",
118
                "StateData",
119
                INCLUDE_AUDIT);
120

    
121
        //DescriptionElementBase_StatisticalMeasurementValue
122
        stepName = "Simplify DescriptionElementBase_StatisticalMeasurementValue";
123
        tableName = "DescriptionElementBase_StatisticalMeasurementValue";
124
        newColumnName = "quantitativedata_id";
125
        MnTableRemover.NewInstance(stepList, stepName,
126
                tableName,
127
                newColumnName,
128
                "DescriptionElementBase_id",
129
                "statisticalvalues_id",
130
                "DescriptionElementBase",
131
                "StatisticalMeasurementValue",
132
                INCLUDE_AUDIT);
133

    
134
        //TaxonNodeAgentRelation
135
        //#3583
136
        stepName = "Add TaxonNodeAgentRelation table";
137
        tableName = "TaxonNodeAgentRelation";
138
        columnNames = new String[]{"taxonnode_id","agent_id","type_id"};
139
        referencedTables = new String[]{"TaxonNode","AgentBase","DefinedTermBase"};
140
        columnTypes = new String[]{"int","int","int"};
141
        TableCreator.NewAnnotatableInstance(stepList, stepName, tableName, columnNames, columnTypes, referencedTables, INCLUDE_AUDIT);
142

    
143
        //authorTeam -> authorship for TaxonName #4332
144
        stepName = "Rename TaxonNameBase.combinationAuthorTeam_id column";
145
        tableName = "TaxonNameBase";
146
        oldColumnName = "combinationAuthorTeam_id";
147
        newColumnName = "combinationAuthorship_id";
148
        ColumnNameChanger.NewIntegerInstance(stepList, stepName, tableName, oldColumnName, newColumnName, INCLUDE_AUDIT);
149

    
150
        //authorTeam -> authorship for TaxonName #4332
151
        stepName = "Rename TaxonNameBase.exCombinationAuthorTeam_id column";
152
        tableName = "TaxonNameBase";
153
        oldColumnName = "exCombinationAuthorTeam_id";
154
        newColumnName = "exCombinationAuthorship_id";
155
        ColumnNameChanger.NewIntegerInstance(stepList, stepName, tableName, oldColumnName, newColumnName, INCLUDE_AUDIT);
156

    
157
        //authorTeam -> authorship for TaxonName #4332
158
        stepName = "Rename TaxonNameBase.basionymAuthorTeam_id column";
159
        tableName = "TaxonNameBase";
160
        oldColumnName = "basionymAuthorTeam_id";
161
        newColumnName = "basionymAuthorship_id";
162
        ColumnNameChanger.NewIntegerInstance(stepList, stepName, tableName, oldColumnName, newColumnName, INCLUDE_AUDIT);
163

    
164
        //authorTeam -> authorship for TaxonName #4332
165
        stepName = "Rename TaxonNameBase.exBasionymAuthorTeam_id column";
166
        tableName = "TaxonNameBase";
167
        oldColumnName = "exBasionymAuthorTeam_id";
168
        newColumnName = "exBasionymAuthorship_id";
169
        ColumnNameChanger.NewIntegerInstance(stepList, stepName, tableName, oldColumnName, newColumnName, INCLUDE_AUDIT);
170

    
171
		return stepList;
172
	}
173

    
174
	@Override
175
	public ISchemaUpdater getPreviousUpdater() {
176
		return SchemaUpdater_341_35.NewInstance();
177
	}
178

    
179
}
(12-12/16)