migrations:
directory: db/migrations
####
use Dancer2;
use Dancer2::Plugin::Database;
use DBIx::Schema::Migration;
my $dir = config->{migrations}->{directory};
# Instantinating Migration object.
my $migration = DBIx::Schema::Migration->new( {
dbh => database,
dir => $dir,
} );
# CLI logic.
my ($action, $num) = @ARGV;
SWITCH: for ($action) {
if (/up/) { $migration->up($num); last SWITCH; }
if (/down/) { $migration->down($num); last SWITCH; }
if (/init/) { $migration->init(); last SWITCH; }
}
####
perl migration.pl up
perl migration.pl down
perl migration.pl init