migration - Enums 
This topic discusses the enums used in the migration framework.
 Classes 
 PacketCategory 
Each migration packet must have a 
category attribute that is set to one of these categories
| Name | Value | Description | 
| PacketCategory.CATEGORY_MANDATORY | 0 | This packet must be installed for a successful migration | 
| PacketCategory.CATEGORY_OPTIONAL | 1 | This packet is completly optional. An example would be a early port of an upcoming feature | 
| PacketCategory.CATEGORY_HELPER | 2 | This packet provides some helper functionality aimed at customizers | 
 PacketState  
The packet state is written and read from the dataitem 
Status and can have the following values
| Name | Value | Description | 
| PacketState.NEW | 0 | A migration packet that hasn't been part of a migration yet | 
| PacketState.INSTALLED | 1 | A migration packet that ran successfully | 
| PacketState.SKIPPED | 2 | Deprecated | 
| PacketState.FAILED | 3 | A migration packet that ran unsuccessfully | 
| PacketState.PENDING | 4 | A migration packet that has a dependency on another packet, but the other packet doesn't have the necessary state | 
| PacketState.UNNECESSARY | 5 | A migration packet that has been deemed unnecessary for the previous migration |