The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

KiokuDB::Role::Upgrade::Data - Classes that provide their own upgrade routine.

SYNOPSIS

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,
        ...
    );
}

DESCRIPTION

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.