2 * Copyright (C) 2007 EDIT
3 * European Distributed Institute of Taxonomy
4 * http://www.e-taxonomy.eu
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.
10 package eu
.etaxonomy
.cdm
.database
.update
.v505_508
;
12 import java
.util
.ArrayList
;
13 import java
.util
.List
;
15 import org
.apache
.logging
.log4j
.LogManager
;import org
.apache
.logging
.log4j
.Logger
;
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
.SchemaUpdaterBase
;
22 import eu
.etaxonomy
.cdm
.database
.update
.TableCreator
;
28 public class SchemaUpdater_581_582
extends SchemaUpdaterBase
{
30 @SuppressWarnings("unused")
31 private static final Logger logger
= LogManager
.getLogger(SchemaUpdater_581_582
.class);
33 private static final String endSchemaVersion
= "5.8.2.0.20190815";
34 private static final String startSchemaVersion
= "5.8.1.0.20190813";
36 // ********************** FACTORY METHOD *************************************
38 public static SchemaUpdater_581_582
NewInstance() {
39 return new SchemaUpdater_581_582();
42 protected SchemaUpdater_581_582() {
43 super(startSchemaVersion
, endSchemaVersion
);
47 protected List
<ISchemaUpdaterStep
> getUpdaterList() {
54 List
<ISchemaUpdaterStep
> stepList
= new ArrayList
<>();
57 stepName
= "Add FeatureState";
58 tableName
= "FeatureState";
59 String
[] columnNames
= new String
[]{"feature_id","state_id"};
60 String
[] columnTypes
= new String
[]{"int","int"};
61 String
[] referencedTables
= new String
[]{"DefinedTermBase","DefinedTermBase"};
62 TableCreator
.NewVersionableInstance(stepList
, stepName
, tableName
,
63 columnNames
, columnTypes
, referencedTables
, INCLUDE_AUDIT
);
65 stepName
= "Add TermNode_InapplicableIf";
66 tableName
= "TermNode_InapplicableIf";
67 columnNames
= new String
[]{"TermNode_id","inapplicableIf_id"};
68 columnTypes
= new String
[]{"int","int"};
69 referencedTables
= new String
[]{"TermRelation","FeatureState"};
70 boolean includeCdmBaseAttributes
= false;
71 TableCreator
.NewInstance(stepList
, stepName
, tableName
, columnNames
,
72 columnTypes
, referencedTables
, INCLUDE_AUDIT
, includeCdmBaseAttributes
)
73 .setPrimaryKeyParams("TermNode_id,inapplicableIf_id", "REV, TermNode_id, inapplicableIf_id");
75 stepName
= "Add TermNode_OnlyapplicableIf";
76 tableName
= "TermNode_OnlyApplicableIf";
77 columnNames
= new String
[]{"TermNode_id","onlyApplicableIf_id"};
78 columnTypes
= new String
[]{"int","int"};
79 referencedTables
= new String
[]{"TermRelation","FeatureState"};
80 includeCdmBaseAttributes
= false;
81 TableCreator
.NewInstance(stepList
, stepName
, tableName
, columnNames
,
82 columnTypes
, referencedTables
, INCLUDE_AUDIT
, includeCdmBaseAttributes
)
83 .setPrimaryKeyParams("TermNode_id,onlyApplicableIf_id", "REV, TermNode_id, onlyApplicableIf_id");
86 stepName
= "Rename column TermNode_DefinedTermBase_InapplicableIf.inapplicableIf_id";
87 tableName
= "TermNode_DefinedTermBase_InapplicableIf";
88 oldColumnName
= "inapplicableIf_id";
89 newColumnName
= "inapplicableIf_old_id";
90 ColumnNameChanger
.NewIntegerInstance(stepList
, stepName
, tableName
, oldColumnName
, newColumnName
, INCLUDE_AUDIT
);
93 stepName
= "Rename column TermNode_DefinedTermBase_OnlyApplicable.onlyApplicableIf_id";
94 tableName
= "TermNode_DefinedTermBase_OnlyApplicable";
95 oldColumnName
= "onlyApplicableIf_id";
96 newColumnName
= "onlyApplicableIf_old_id";
97 ColumnNameChanger
.NewIntegerInstance(stepList
, stepName
, tableName
, oldColumnName
, newColumnName
, INCLUDE_AUDIT
);
99 //#7957 Add type(s) to DescriptionBase
100 stepName
= "Add types to DescriptionBase";
101 tableName
= "DescriptionBase";
102 newColumnName
="types";
103 ColumnAdder
.NewStringInstance(stepList
, stepName
, tableName
, newColumnName
, 255, "#", INCLUDE_AUDIT
).setNotNull(true);
109 public ISchemaUpdater
getPreviousUpdater() {
110 return SchemaUpdater_58_581
.NewInstance();