NAME

DBIx::Skinny::Schema - Schema DSL for DBIx::Skinny

SYNOPSIS

package Your::Model;
package Qudo::Driver::Skinny;
use DBIx::Skinny connect_info => +{
    dsn => 'dbi:SQLite:',
    username => '',
    password => '',
};
1;

package Your:Model::Schema:
use DBIx::Skinny::Schema;

install_utf8_columns qw/name/; # for utf8 columns

# set user table schema settings
install_table user => schema {
    pk 'id';
    columns qw/id name created_at/;

    trigger pre_insert => callback {
        # hook
    };

    trigger pre_update => callback {
        # hook
    };
};

install_inflate_rule '^name$' => callback {
    inflate {
        my $value = shift;
        # inflate hook
    };
    deflate {
        my $value = shift;
        # deflate hook
    };
};

1;