Project

General

Profile

« Previous | Next » 

Revision 05251566

Added by Andreas Müller about 8 years ago

Remove Autoincrement on AuditEvent.revisionnumber on MySQL #5718

  • Not yet tested for H2 and PostGreSQL

View differences:

cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/database/update/v36_40/SchemaUpdater_36_40.java
16 16
import org.apache.log4j.Logger;
17 17

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

  
24 27
/**
......
78 81
        step = ColumnAdder.NewStringInstance(stepName, tableName, newColumnName, INCLUDE_AUDIT);
79 82
        stepList.add(step);
80 83

  
84
        //#5718
85
        //Remove autoincrement from AuditEvent.revisionnumber
86
        stepName = "Remove autoincrement from AuditEvent.revisionnumber";
87
//        String query = "ALTER TABLE @@AuditEvent@@ ALTER revisionnumber DROP DEFAULT";
88
//        step = SimpleSchemaUpdaterStep.NewNonAuditedInstance(stepName, query, -99);
89
//        stepList.add(step);
90
        tableName = "AuditEvent";
91
        oldColumnName = "revisionnumber";
92
        newColumnName = "revisionnumberOld";
93
        step = ColumnNameChanger.NewIntegerInstance(stepName, tableName, oldColumnName, newColumnName, ! INCLUDE_AUDIT);
94
        stepList.add(step);
95

  
96
        tableName = "AuditEvent";
97
        String columnName = oldColumnName;
98
        Integer defaultValue = null;
99
        boolean notNull = true;
100
        step = ColumnAdder.NewIntegerInstance(stepName, tableName, columnName, ! INCLUDE_AUDIT, defaultValue, notNull);
101
        stepList.add(step);
102

  
103
        String query = "UPDATE @@AuditEvent@@ SET revisionnumber = revisionnumberOld";
104
        step = SimpleSchemaUpdaterStep.NewNonAuditedInstance(stepName, query, -99);
105
        stepList.add(step);
106

  
107
        step = ColumnRemover.NewInstance(stepName, tableName, newColumnName, ! INCLUDE_AUDIT);
108
        stepList.add(step);
109

  
110

  
111

  
81 112
        return stepList;
82 113
	}
83 114

  

Also available in: Unified diff