KiokuDB::Role::Upgrade::Data - Classes that provide their own upgrade routine.
with qw(KiokuDB::Role::Upgrade::Data); sub kiokudb_upgrade_data { my ( $class, %args ) = @_; # convert the data from the old version of the class to the new version # as necessary $args{entry}->derive( class_version => our $VERSION, ... ); }
This class allows you to take control the data conversion process completely (there is only one handler per class, not one handler per version with this approach).
See KiokuDB::Role::Upgrade::Handlers::Table for a more DWIM approach, and KiokuDB::TypeMap::Entry::MOP for more details.