Project

General

Profile

Download (24.1 KB) Statistics
| Branch: | Tag: | Revision:
1
// $Id$
2
/**
3
 * Copyright (C) 2007 EDIT
4
 * European Distributed Institute of Taxonomy
5
 * http://www.e-taxonomy.eu
6
 *
7
 * The contents of this file are subject to the Mozilla Public License Version 1.1
8
 * See LICENSE.TXT at the top of this package for the full license terms.
9
 */
10

    
11
package eu.etaxonomy.cdm.database.update.v36_40;
12

    
13
import java.util.ArrayList;
14
import java.util.List;
15

    
16
import org.apache.log4j.Logger;
17

    
18
import eu.etaxonomy.cdm.database.update.ColumnAdder;
19
import eu.etaxonomy.cdm.database.update.ColumnNameChanger;
20
import eu.etaxonomy.cdm.database.update.ColumnRemover;
21
import eu.etaxonomy.cdm.database.update.ISchemaUpdater;
22
import eu.etaxonomy.cdm.database.update.ISchemaUpdaterStep;
23
import eu.etaxonomy.cdm.database.update.SchemaUpdaterBase;
24
import eu.etaxonomy.cdm.database.update.SimpleSchemaUpdaterStep;
25
import eu.etaxonomy.cdm.database.update.TableNameChanger;
26
import eu.etaxonomy.cdm.database.update.v35_36.SchemaUpdater_35_36;
27

    
28
/**
29
 * @author a.mueller
30
 * @created 16.04.2016
31
 */
32
public class SchemaUpdater_36_40 extends SchemaUpdaterBase {
33

    
34
	@SuppressWarnings("unused")
35
	private static final Logger logger = Logger.getLogger(SchemaUpdater_36_40.class);
36
	private static final String endSchemaVersion = "4.0.0.0.201604200000";
37
	private static final String startSchemaVersion = "3.6.0.0.201527040000";
38

    
39
	// ********************** FACTORY METHOD *************************************
40

    
41
	public static SchemaUpdater_36_40 NewInstance() {
42
		return new SchemaUpdater_36_40();
43
	}
44

    
45
	/**
46
	 * @param startSchemaVersion
47
	 * @param endSchemaVersion
48
	 */
49
	protected SchemaUpdater_36_40() {
50
		super(startSchemaVersion, endSchemaVersion);
51
	}
52

    
53
	@Override
54
	protected List<ISchemaUpdaterStep> getUpdaterList() {
55

    
56
		String stepName;
57
		String tableName;
58
		ISchemaUpdaterStep step;
59
//		String columnName;
60
		String query;
61
		String newColumnName;
62
		String oldColumnName;
63
		String columnNames[];
64
		String referencedTables[];
65
		String columnTypes[];
66
//		boolean includeCdmBaseAttributes = false;
67

    
68
		List<ISchemaUpdaterStep> stepList = new ArrayList<ISchemaUpdaterStep>();
69

    
70
        //#5606
71
        //Add preferred stable URI to SpecimenOrObservation
72
        stepName = "Add preferred stable URI to SpecimenOrObservation";
73
        tableName = "SpecimenOrObservationBase";
74
        newColumnName = "preferredStableUri";
75
        step = ColumnAdder.NewClobInstance(stepName, tableName, newColumnName, INCLUDE_AUDIT);
76
        stepList.add(step);
77

    
78
        //#5717
79
        //Add sec micro reference
80
        stepName = "Add secMicroReference to TaxonBase";
81
        tableName = "TaxonBase";
82
        newColumnName = "secMicroReference";
83
        step = ColumnAdder.NewStringInstance(stepName, tableName, newColumnName, INCLUDE_AUDIT);
84
        stepList.add(step);
85

    
86
        //#5718
87
        //Remove autoincrement from AuditEvent.revisionnumber if necessary
88
        stepName = "Remove autoincrement from AuditEvent.revisionnumber";
89
        RevisionNumberUpdater.NewInstance(stepName, stepList);
90

    
91

    
92
        //#5734
93
        //Add symbol to terms
94
        stepName = "Add symbols to terms";
95
        tableName = "DefinedTermBase";
96
        newColumnName = "symbol";
97
        step = ColumnAdder.NewStringInstance(stepName, tableName, newColumnName, 30, INCLUDE_AUDIT);
98
        stepList.add(step);
99

    
100
        stepName = "Update symbols for terms";
101
        query = "UPDATE @@DefinedTermBase@@ SET symbol = idInVocabulary WHERE idInVocabulary <> ''";
102
        step = SimpleSchemaUpdaterStep.NewNonAuditedInstance(stepName, query, -99);
103
        stepList.add(step);
104

    
105

    
106
        //Add inverse symbol to terms
107
        stepName = "Add inverse symbol to terms";
108
        tableName = "DefinedTermBase";
109
        newColumnName = "inverseSymbol";
110
        step = ColumnAdder.NewStringInstance(stepName, tableName, newColumnName, 30, INCLUDE_AUDIT);
111
        stepList.add(step);
112

    
113
        stepName = "Update symbols for terms";
114
        query = "UPDATE DefinedTermBase dtb SET inverseSymbol = ( " +
115
            " SELECT  r.abbreviatedlabel " +
116
            " FROM RelationshipTermBase_inverseRepresentation MN " +
117
                " INNER JOIN Representation r ON r.id = MN.inverserepresentations_id " +
118
            " WHERE dtb.id = MN.DefinedTermBase_id AND r.abbreviatedlabel <> '' ) ";
119
        step = SimpleSchemaUpdaterStep.NewNonAuditedInstance(stepName, query, -99);
120
        stepList.add(step);
121

    
122
        //#5369
123
        renameColumnsAccordingToHibernate5(stepList);
124

    
125
        //Update xxxObj_type  (#3701)
126
        step = ReferencedObjTypeUpdater.NewInstance();
127
        stepList.add(step);
128

    
129
        //remove bidirectionality from supplemental data #5743
130
        //annotation
131
        stepName = "Remove Annotation.annotatedObj_type";
132
        tableName = "Annotation";
133
        oldColumnName = "annotatedObj_type";
134
        step = ColumnRemover.NewInstance(stepName, tableName, oldColumnName, ! INCLUDE_AUDIT);
135
        stepList.add(step);
136

    
137
        stepName = "Remove Annotation.annotatedObj_id";
138
        tableName = "Annotation";
139
        oldColumnName = "annotatedObj_id";
140
        step = ColumnRemover.NewInstance(stepName, tableName, oldColumnName, ! INCLUDE_AUDIT);
141
        stepList.add(step);
142

    
143
        //marker
144
        stepName = "Remove Marker.markedObj_type";
145
        tableName = "Marker";
146
        oldColumnName = "markedObj_type";
147
        step = ColumnRemover.NewInstance(stepName, tableName, oldColumnName, ! INCLUDE_AUDIT);
148
        stepList.add(step);
149

    
150
        stepName = "Remove Marker.markedObj_id";
151
        tableName = "Marker";
152
        oldColumnName = "markedObj_id";
153
        step = ColumnRemover.NewInstance(stepName, tableName, oldColumnName, ! INCLUDE_AUDIT);
154
        stepList.add(step);
155

    
156
        //extension
157
        stepName = "Remove Extension.extendedObj_type";
158
        tableName = "Extension";
159
        oldColumnName = "extendedObj_type";
160
        step = ColumnRemover.NewInstance(stepName, tableName, oldColumnName, ! INCLUDE_AUDIT);
161
        stepList.add(step);
162

    
163
        stepName = "Remove Extension.extendedObj_id";
164
        tableName = "Extension";
165
        oldColumnName = "extendedObj_id";
166
        step = ColumnRemover.NewInstance(stepName, tableName, oldColumnName, ! INCLUDE_AUDIT);
167
        stepList.add(step);
168

    
169
        //sources
170
        stepName = "Remove OriginalSourceBase.sourcedObj_type";
171
        tableName = "OriginalSourceBase";
172
        oldColumnName = "sourcedObj_type";
173
        step = ColumnRemover.NewInstance(stepName, tableName, oldColumnName, ! INCLUDE_AUDIT);
174
        stepList.add(step);
175

    
176
        stepName = "Remove OriginalSourceBase.sourcedObj_id";
177
        tableName = "OriginalSourceBase";
178
        oldColumnName = "sourcedObj_id";
179
        step = ColumnRemover.NewInstance(stepName, tableName, oldColumnName, ! INCLUDE_AUDIT);
180
        stepList.add(step);
181

    
182
        //identifier
183
        stepName = "Remove Identifier.identifiedObj_type";
184
        tableName = "Identifier";
185
        oldColumnName = "identifiedObj_type";
186
        step = ColumnRemover.NewInstance(stepName, tableName, oldColumnName, ! INCLUDE_AUDIT);
187
        stepList.add(step);
188

    
189
        stepName = "Remove Identifier.identifiedObj_id";
190
        tableName = "Identifier";
191
        oldColumnName = "identifiedObj_id";
192
        step = ColumnRemover.NewInstance(stepName, tableName, oldColumnName, ! INCLUDE_AUDIT);
193
        stepList.add(step);
194

    
195
        return stepList;
196
	}
197

    
198

    
199
	//#5369
200
    private void renameColumnsAccordingToHibernate5(List<ISchemaUpdaterStep> stepList) {
201

    
202
        //AgenBase_AgentBase.AgentBase_ID  -> Team_ID
203
        String stepName = "Rename columns according to hibernate5";
204
        String tableName = "AgentBase_AgentBase";
205
        String oldColumnName = "agentbase_id";
206
        String newColumnName = "team_id";
207
        ISchemaUpdaterStep step = ColumnNameChanger.NewIntegerInstance(stepName, tableName, oldColumnName, newColumnName, INCLUDE_AUDIT);
208
        stepList.add(step);
209

    
210
        //DescriptionElementBase_LanguageString.DescriptionElementBase_ID -> TextData_ID
211
        stepName = "Rename DescriptionElementBase_LanguageString.DescriptionElementBase_ID";
212
        tableName = "DescriptionElementBase_LanguageString";
213
        oldColumnName = "descriptionElementBase_id";
214
        newColumnName = "textdata_id";
215
        step = ColumnNameChanger.NewIntegerInstance(stepName, tableName, oldColumnName, newColumnName, INCLUDE_AUDIT);
216
        stepList.add(step);
217

    
218
        //AgentBase_DefinedTermBase.AgentBase_ID -> Institution_id
219
        stepName = "Rename AgentBase_DefinedTermBase.AgentBase_ID -> Institution_id";
220
        tableName = "AgentBase_DefinedTermBase";
221
        oldColumnName = "agentbase_id";
222
        newColumnName = "institution_id";
223
        step = ColumnNameChanger.NewIntegerInstance(stepName, tableName, oldColumnName, newColumnName, INCLUDE_AUDIT);
224
        stepList.add(step);
225

    
226
        //PermissionGroup_GrantedAuthorityImpl.PermsiionsGroup_id -> Group_id
227
        stepName = "PermissionGroup_GrantedAuthorityImpl.PermsiionsGroup_id -> Group_id ";
228
        tableName = "PermissionGroup_GrantedAuthorityImpl";
229
        oldColumnName = "Permissiongroup_id";
230
        newColumnName = "group_id";
231
        step = ColumnNameChanger.NewIntegerInstance(stepName, tableName, oldColumnName, newColumnName, ! INCLUDE_AUDIT);
232
        stepList.add(step);
233

    
234
        //UserAccount_GrantedAuthorityImpl.UserAccount_id -> User_id
235
        stepName = "UserAccount_GrantedAuthorityImpl.UserAccount_id -> User_id ";
236
        tableName = "UserAccount_GrantedAuthorityImpl";
237
        oldColumnName = "useraccount_id";
238
        newColumnName = "user_id";
239
        step = ColumnNameChanger.NewIntegerInstance(stepName, tableName, oldColumnName, newColumnName, ! INCLUDE_AUDIT);
240
        stepList.add(step);
241

    
242
        //DefinedTermBase_RecommendedModifierEnumeration.DefinedTermBase_id -> Feature_id
243
        stepName = "DefinedTermBase_RecommendedModifierEnumeration.DefinedTermBase_id -> Feature_id";
244
        tableName = "DefinedTermBase_RecommendedModifierEnumeration";
245
        oldColumnName = "definedtermbase_id";
246
        newColumnName = "feature_id";
247
        step = ColumnNameChanger.NewIntegerInstance(stepName, tableName, oldColumnName, newColumnName, INCLUDE_AUDIT);
248
        stepList.add(step);
249

    
250
        //DefinedTermBase_StatisticalMeasure.DefinedTermBase_id -> Feature_id
251
        stepName = "DefinedTermBase_StatisticalMeasure.DefinedTermBase_id -> Feature_id";
252
        tableName = "DefinedTermBase_StatisticalMeasure";
253
        oldColumnName = "definedtermbase_id";
254
        newColumnName = "feature_id";
255
        step = ColumnNameChanger.NewIntegerInstance(stepName, tableName, oldColumnName, newColumnName, INCLUDE_AUDIT);
256
        stepList.add(step);
257

    
258
        //DefinedTermBase_SupportedCategoricalEnumeration.DefinedTermBase_id -> Feature_id
259
        stepName = "DefinedTermBase_SupportedCategoricalEnumeration.DefinedTermBase_id -> Feature_id";
260
        tableName = "DefinedTermBase_SupportedCategoricalEnumeration";
261
        oldColumnName = "definedtermbase_id";
262
        newColumnName = "feature_id";
263
        step = ColumnNameChanger.NewIntegerInstance(stepName, tableName, oldColumnName, newColumnName, INCLUDE_AUDIT);
264
        stepList.add(step);
265

    
266
        //DefinedTermBase_MeasurementUnit.DefinedTermBase_id -> Feature_id
267
        stepName = "DefinedTermBase_MeasurementUnit.DefinedTermBase_id -> Feature_id";
268
        tableName = "DefinedTermBase_MeasurementUnit";
269
        oldColumnName = "definedtermbase_id";
270
        newColumnName = "feature_id";
271
        step = ColumnNameChanger.NewIntegerInstance(stepName, tableName, oldColumnName, newColumnName, INCLUDE_AUDIT);
272
        stepList.add(step);
273

    
274
        //Media_TaxonBase.Media_id -> MediaKey_id
275
        stepName = "DefinedTermBase_MeasurementUnit.DefinedTermBase_id -> Feature_id";
276
        tableName = "Media_TaxonBase";
277
        oldColumnName = "media_id";
278
        newColumnName = "mediakey_id";
279
        step = ColumnNameChanger.NewIntegerInstance(stepName, tableName, oldColumnName, newColumnName, INCLUDE_AUDIT);
280
        stepList.add(step);
281

    
282
        //Rename Media_TaxonBase -> MediaKey_CoveredTaxon
283
        stepName = "Rename Media_TaxonBase -> MediaKey_CoveredTaxon";
284
        String oldTableName = "Media_TaxonBase";
285
        String newTableName = "MediaKey_CoveredTaxon";
286
        step = TableNameChanger.NewInstance(stepName, oldTableName, newTableName, INCLUDE_AUDIT);
287
        stepList.add(step);
288

    
289
        //MediaKey_NamedArea.Media_id -> MediaKey_id
290
        stepName = "MediaKey_NamedArea.Media_id -> MediaKey_id";
291
        tableName = "MediaKey_NamedArea";
292
        oldColumnName = "media_id";
293
        newColumnName = "mediakey_id";
294
        step = ColumnNameChanger.NewIntegerInstance(stepName, tableName, oldColumnName, newColumnName, INCLUDE_AUDIT);
295
        stepList.add(step);
296

    
297
        //MediaKey_Scope.Media_id -> MediaKey_id
298
        stepName = "MediaKey_Scope.Media_id -> MediaKey_id";
299
        tableName = "MediaKey_Scope";
300
        oldColumnName = "media_id";
301
        newColumnName = "mediakey_id";
302
        step = ColumnNameChanger.NewIntegerInstance(stepName, tableName, oldColumnName, newColumnName, INCLUDE_AUDIT);
303
        stepList.add(step);
304

    
305
        //Rename MediaKey_Taxon -> MediaKey_TaxonScope
306
        stepName = "Rename MediaKey_Taxon -> MediaKey_TaxonScope";
307
        oldTableName = "MediaKey_Taxon";
308
        newTableName = "MediaKey_TaxonScope";
309
        step = TableNameChanger.NewInstance(stepName, oldTableName, newTableName, INCLUDE_AUDIT);
310
        stepList.add(step);
311

    
312
        //MediaKey_TaxonScope.taxon_id -> taxonomicScope_id
313
        stepName = "MediaKey_TaxonScope.taxon_id -> taxonomicScope_id";
314
        tableName = "MediaKey_TaxonScope";
315
        oldColumnName = "taxon_id";
316
        newColumnName = "taxonomicScope_id";
317
        step = ColumnNameChanger.NewIntegerInstance(stepName, tableName, oldColumnName, newColumnName, INCLUDE_AUDIT);
318
        stepList.add(step);
319

    
320
        //Rename WorkingSet_TaxonBase -> MultiAccessKey_CoveredTaxon
321
        stepName = "Rename WorkingSet_TaxonBase -> MultiAccessKey_CoveredTaxon";
322
        oldTableName = "WorkingSet_TaxonBase";
323
        newTableName = "MultiAccessKey_CoveredTaxon";
324
        step = TableNameChanger.NewInstance(stepName, oldTableName, newTableName, INCLUDE_AUDIT);
325
        stepList.add(step);
326

    
327
        //MultiAccessKey_CoveredTaxon.WorkingSet_id -> MultiAccessKey_id
328
        stepName = "MultiAccessKey_CoveredTaxon.WorkingSet_id -> MultiAccessKey_id";
329
        tableName = "MultiAccessKey_CoveredTaxon";
330
        oldColumnName = "workingset_id";
331
        newColumnName = "multiaccesskey_id";
332
        step = ColumnNameChanger.NewIntegerInstance(stepName, tableName, oldColumnName, newColumnName, INCLUDE_AUDIT);
333
        stepList.add(step);
334
//         (also rename table)
335

    
336
        //MultiAccessKey_NamedArea.WorkingSet_id -> MultiAccessKey_id
337
        stepName = "MultiAccessKey_NamedArea.WorkingSet_id -> MultiAccessKey_id";
338
        tableName = "MultiAccessKey_NamedArea";
339
        oldColumnName = "workingset_id";
340
        newColumnName = "multiaccesskey_id";
341
        step = ColumnNameChanger.NewIntegerInstance(stepName, tableName, oldColumnName, newColumnName, INCLUDE_AUDIT);
342
        stepList.add(step);
343

    
344
        //MultiAccessKey_Scope.WorkingSet_id -> MultiAccessKey_id
345
        stepName = "MultiAccessKey_Scope.WorkingSet_id -> MultiAccessKey_id ";
346
        tableName = "MultiAccessKey_Scope";
347
        oldColumnName = "workingset_id";
348
        newColumnName = "multiaccesskey_id";
349
        step = ColumnNameChanger.NewIntegerInstance(stepName, tableName, oldColumnName, newColumnName, INCLUDE_AUDIT);
350
        stepList.add(step);
351

    
352
        //Rename MultiAccessKey_Taxon -> MultiAccessKey_TaxonScope
353
        stepName = "Rename MultiAccessKey_Taxon -> MultiAccessKey_TaxonScope";
354
        oldTableName = "MultiAccessKey_Taxon";
355
        newTableName = "MultiAccessKey_TaxonScope";
356
        step = TableNameChanger.NewInstance(stepName, oldTableName, newTableName, INCLUDE_AUDIT);
357
        stepList.add(step);
358

    
359
        //MultiAccessKey_TaxonScope.taxon_id -> taxonomicScope_id
360
        stepName = "MultiAccessKey_TaxonScope.taxon_id -> taxonomicScope_id";
361
        tableName = "MultiAccessKey_TaxonScope";
362
        oldColumnName = "taxon_id";
363
        newColumnName = "taxonomicScope_id";
364
        step = ColumnNameChanger.NewIntegerInstance(stepName, tableName, oldColumnName, newColumnName, INCLUDE_AUDIT);
365
        stepList.add(step);
366

    
367
        //DescriptionBase_Scope.DescriptionBase_id -> TaxonDescription_id
368
        stepName = "DescriptionBase_Scope.DescriptionBase_id -> TaxonDescription_id";
369
        tableName = "DescriptionBase_Scope";
370
        oldColumnName = "descriptionbase_id";
371
        newColumnName = "taxondescription_id";
372
        step = ColumnNameChanger.NewIntegerInstance(stepName, tableName, oldColumnName, newColumnName, INCLUDE_AUDIT);
373
        stepList.add(step);
374

    
375
        //DescriptionBase_GeoScope.DescriptionBase_id -> TaxonDescription_id
376
        stepName = "DescriptionBase_GeoScope.DescriptionBase_id -> TaxonDescription_id";
377
        tableName = "DescriptionBase_GeoScope";
378
        oldColumnName = "descriptionbase_id";
379
        newColumnName = "taxondescription_id";
380
        step = ColumnNameChanger.NewIntegerInstance(stepName, tableName, oldColumnName, newColumnName, INCLUDE_AUDIT);
381
        stepList.add(step);
382

    
383
        //DefinedTermBase_Continent.DefinedTermBase_id -> Country_id
384
        stepName = "DefinedTermBase_Continent.DefinedTermBase_id -> Country_id";
385
        tableName = "DefinedTermBase_Continent";
386
        oldColumnName = "definedtermbase_id";
387
        newColumnName = "country_id";
388
        step = ColumnNameChanger.NewIntegerInstance(stepName, tableName, oldColumnName, newColumnName, INCLUDE_AUDIT);
389
        stepList.add(step);
390

    
391
        //DefinedTermBase_Country.DefinedTermBase_id -> NamedArea_id
392
        stepName = "DefinedTermBase_Country.DefinedTermBase_id -> NamedArea_id";
393
        tableName = "DefinedTermBase_Country";
394
        oldColumnName = "definedtermbase_id";
395
        newColumnName = "namedarea_id";
396
        step = ColumnNameChanger.NewIntegerInstance(stepName, tableName, oldColumnName, newColumnName, INCLUDE_AUDIT);
397
        stepList.add(step);
398

    
399
        //Media_Sequence.Media_id -> PhylogeneticTree_id
400
        stepName = "Media_Sequence.Media_id -> PhylogeneticTree_id";
401
        tableName = "Media_Sequence";
402
        oldColumnName = "media_id";
403
        newColumnName = "phylogenetictree_id";
404
        step = ColumnNameChanger.NewIntegerInstance(stepName, tableName, oldColumnName, newColumnName, INCLUDE_AUDIT);
405
        stepList.add(step);
406

    
407

    
408
        //RelationshipTermBase_inverseRepresentation.DefinedTermBase_id ->RelationshipTermBase_id
409
        stepName = "RelationshipTermBase_inverseRepresentation.DefinedTermBase_id ->RelationshipTermBase_id";
410
        tableName = "RelationshipTermBase_inverseRepresentation";
411
        oldColumnName = "definedtermbase_id";
412
        newColumnName = "relationshiptermbase_id";
413
        step = ColumnNameChanger.NewIntegerInstance(stepName, tableName, oldColumnName, newColumnName, INCLUDE_AUDIT);
414
        stepList.add(step);
415

    
416
        //TaxonInteraction_LanguageString.DescriptionElementBase_id -> TaxonInteraction_id
417
        stepName = "TaxonInteraction_LanguageString.DescriptionElementBase_id -> TaxonInteraction_id";
418
        tableName = "TaxonInteraction_LanguageString";
419
        oldColumnName = "descriptionelementbase_id";
420
        newColumnName = "taxoninteraction_id";
421
        step = ColumnNameChanger.NewIntegerInstance(stepName, tableName, oldColumnName, newColumnName, INCLUDE_AUDIT);
422
        stepList.add(step);
423

    
424
        //IndividualAssociation_LanguageString.DescriptionElementBase_id -> IndividualsAssociation_id
425
        stepName = "IndividualAssociation_LanguageString.DescriptionElementBase_id -> IndividualsAssociation_id";
426
        tableName = "IndividualAssociation_LanguageString";
427
        oldColumnName = "descriptionelementbase_id";
428
        newColumnName = "individualsassociation_id";
429
        step = ColumnNameChanger.NewIntegerInstance(stepName, tableName, oldColumnName, newColumnName, INCLUDE_AUDIT);
430
        stepList.add(step);
431

    
432
        //Media_Representation.Media_id -> MediaKey_id
433
        stepName = "Media_Representation.Media_id -> MediaKey_id";
434
        tableName = "Media_Representation";
435
        oldColumnName = "media_id";
436
        newColumnName = "mediakey_id";
437
        step = ColumnNameChanger.NewIntegerInstance(stepName, tableName, oldColumnName, newColumnName, INCLUDE_AUDIT);
438
        stepList.add(step);
439

    
440
        //RightsInfo_Annotation. RightsInfo_id->Rights_id (see AssociationOverrides on class level)
441
        stepName = "RightsInfo_Annotation. RightsInfo_id->Rights_id";
442
        tableName = "RightsInfo_Annotation";
443
        oldColumnName = "rightsinfo_id";
444
        newColumnName = "rights_id";
445
        step = ColumnNameChanger.NewIntegerInstance(stepName, tableName, oldColumnName, newColumnName, INCLUDE_AUDIT);
446
        stepList.add(step);
447

    
448
        // RightsInfo_Marker. RightsInfo_id->Rights_id (see AssociationOverrides on class level)
449
        stepName = "RightsInfo_Marker. RightsInfo_id->Rights_id";
450
        tableName = "RightsInfo_Marker";
451
        oldColumnName = "rightsinfo_id";
452
        newColumnName = "rights_id";
453
        step = ColumnNameChanger.NewIntegerInstance(stepName, tableName, oldColumnName, newColumnName, INCLUDE_AUDIT);
454
        stepList.add(step);
455

    
456
        // WorkingSet_DescriptionBase.workingSet_id->workingSets_id
457
        stepName = "WorkingSet_DescriptionBase.workingSet_id->workingSets_id";
458
        tableName = "WorkingSet_DescriptionBase";
459
        oldColumnName = "workingSet_id";
460
        newColumnName = "workingSets_id";
461
        step = ColumnNameChanger.NewIntegerInstance(stepName, tableName, oldColumnName, newColumnName, INCLUDE_AUDIT);
462
        stepList.add(step);
463

    
464
        // IndividualAssociation_LanguageString -> IndividualsAssociation_LanguageString
465
        stepName = "IndividualAssociation_LanguageString -> IndividualsAssociation_LanguageString";
466
        oldTableName = "IndividualAssociation_LanguageString";
467
        newTableName = "IndividualsAssociation_LanguageString";
468
        step = TableNameChanger.NewInstance(stepName, oldTableName, newTableName, INCLUDE_AUDIT);
469
        stepList.add(step);
470

    
471
        //Contact tables
472
        // AgentBase_contact_emailaddresses-> AgentBase_contact_emailAddresses
473
        //in 2 steps to avoid "table already exists" on non sensitive systems
474
        stepName = "AgentBase_contact_emailaddresses-> AgentBase_contact_emailAddresses(I)";
475
        oldTableName = "AgentBase_contact_emailaddresses";
476
        newTableName = "AgentBase_contact_emailaddresses2";
477
        step = TableNameChanger.NewInstance(stepName, oldTableName, newTableName, INCLUDE_AUDIT);
478
        stepList.add(step);
479
        stepName = "AgentBase_contact_emailaddresses-> AgentBase_contact_emailAddresses(II)";
480
        oldTableName = "AgentBase_contact_emailaddresses2";
481
        newTableName = "AgentBase_contact_emailAddresses";
482
        step = TableNameChanger.NewInstance(stepName, oldTableName, newTableName, INCLUDE_AUDIT);
483
        stepList.add(step);
484

    
485
        // AgentBase_contact_faxnumbers-> AgentBase_contact_faxNumbers
486
        stepName = "AgentBase_contact_faxnumbers-> AgentBase_contact_faxNumbers(I)";
487
        oldTableName = "AgentBase_contact_faxnumbers";
488
        newTableName = "AgentBase_contact_faxnumbers2";
489
        step = TableNameChanger.NewInstance(stepName, oldTableName, newTableName, INCLUDE_AUDIT);
490
        stepList.add(step);
491
        stepName = "AgentBase_contact_faxnumbers-> AgentBase_contact_faxNumbers(II)";
492
        oldTableName = "AgentBase_contact_faxnumbers2";
493
        newTableName = "AgentBase_contact_faxNumbers";
494
        step = TableNameChanger.NewInstance(stepName, oldTableName, newTableName, INCLUDE_AUDIT);
495
        stepList.add(step);
496

    
497
        // AgentBase_contact_phoneNumbers-> AgentBase_contact_phoneNumbers
498
        stepName = "AgentBase_contact_phonenumbers-> AgentBase_contact_phoneNumbers(I)";
499
        oldTableName = "AgentBase_contact_phonenumbers";
500
        newTableName = "AgentBase_contact_phonenumbers2";
501
        step = TableNameChanger.NewInstance(stepName, oldTableName, newTableName, INCLUDE_AUDIT);
502
        stepList.add(step);
503
        stepName = "AgentBase_contact_phonenumbers-> AgentBase_contact_phoneNumbers(II)";
504
        oldTableName = "AgentBase_contact_phonenumbers2";
505
        newTableName = "AgentBase_contact_phoneNumbers";
506
        step = TableNameChanger.NewInstance(stepName, oldTableName, newTableName, INCLUDE_AUDIT);
507
        stepList.add(step);
508
    }
509

    
510
    @Override
511
	public ISchemaUpdater getNextUpdater() {
512
		return null;
513
	}
514

    
515
	@Override
516
	public ISchemaUpdater getPreviousUpdater() {
517
		return SchemaUpdater_35_36.NewInstance();
518
	}
519

    
520
}
(3-3/4)