com.atlassian.confluence.upgrade
Class RenamePositionColumnUpgradeTask

java.lang.Object
  extended by com.atlassian.confluence.upgrade.RenamePositionColumnUpgradeTask
All Implemented Interfaces:
com.atlassian.upgrade.UpgradeTask

public class RenamePositionColumnUpgradeTask
extends java.lang.Object
implements com.atlassian.upgrade.UpgradeTask

POSITION is a key word as far as HSQLDB 1.8 is concerned. Hence we need to rename it. however not many databases support a SQL rename command, so our first attempt involved trying to drop the column and add a new one it turns out that we cannot remove the POSITION column because it is part of composite primary key (and with values in the table, dropping the column will cause duplicate entries in the remaining PK column) further, hibernate's schemaUpdate autocreates the ANCESTORPOSITION column as part of the upgrade but fails to create it as a primary key -- not sure know why. instead of fighting with database dialects and integrity errors, we concluded its best and easier to just rename the table and allow schemaUpdate to create a new one this upgrade task handles the removal of the old table and the triggers off a populating of the new.


Constructor Summary
RenamePositionColumnUpgradeTask()
           
 
Method Summary
 void doUpgrade()
           
 java.lang.String getBuildNumber()
           
 java.util.Collection getErrors()
           
 java.lang.String getShortDescription()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RenamePositionColumnUpgradeTask

public RenamePositionColumnUpgradeTask()
Method Detail

getBuildNumber

public java.lang.String getBuildNumber()
Specified by:
getBuildNumber in interface com.atlassian.upgrade.UpgradeTask

getShortDescription

public java.lang.String getShortDescription()
Specified by:
getShortDescription in interface com.atlassian.upgrade.UpgradeTask

doUpgrade

public void doUpgrade()
               throws java.lang.Exception
Specified by:
doUpgrade in interface com.atlassian.upgrade.UpgradeTask
Throws:
java.lang.Exception

getErrors

public java.util.Collection getErrors()
Specified by:
getErrors in interface com.atlassian.upgrade.UpgradeTask


Copyright © 2003-2008 Atlassian Pty Ltd. All Rights Reserved.