NAME

    Moodle

ABSTRACT

    Migrations for Mojo DB Drivers

SYNOPSIS

      use Moodle;
      use Mojo::Pg;
      use App::Migrator;
    
      my $migrator = App::Migrator->new;
      my $driver = Mojo::Pg->new('postgresql://postgres@/test');
    
      my $self = Moodle->new(migrator => $migrator, driver => $driver);
    
      my $migration = $self->migrate('latest');

DESCRIPTION

    Moodle uses Doodle with Mojo database drivers to easily install and
    evolve database schema migrations. See Doodle::Migrator for help
    setting up Doodle migrations, and Mojo::Pg, Mojo::mysql or Mojo::SQLite
    for help configuring the DB driver.

METHODS

    This package implements the following methods.

 content

      content() : Str

    The content method generates DB migration statements using the
    Doodle::Migrator and return a string containing "UP" and "DOWN"
    versioned migration strings suitable for use with the migration feature
    of Mojo database drivers.

    content example

        my $content = $self->content;

 migrate

      migrate(Maybe[Str] $target) : Object

    The migrate method generates DB migration statements using the
    Doodle::Migrator and installs them using one of the Mojo database
    drivers, i.e. Mojo::Pg, Mojo::mysql or Mojo::SQLite. The method returns
    a migration object relative to to the DB driver used.

    migrate example

        my $migrate = $self->migrate;
      
        my $latest = $self->migrate('latest');