John Napiorkowski > DBIx-Class-Migration > DBIx::Class::Migration::RunScript::Trait::Dump

Download:
DBIx-Class-Migration-0.044.tar.gz

Dependencies

Annotate this POD

Website

View/Report Bugs
Source  

NAME ^

DBIx::Class::Migration::RunScript::Trait::Dump - Dump fixtures

SYNOPSIS ^

    use DBIx::Class::Migration::RunScript;

    builder {
      'SchemaLoader',
      'Dump',
      sub {
        shift->dump('countries');
      };
    };

DESCRIPTION ^

This is a Moose::Role that adds a dump method to your run script. This will let you dump fixtures from your runscripts, based on previously defined fixture configurations.

This might be useful to you if you are building fixtures if they don't already exist (see DBIx::Class::Migration::RunScript::Trait::Populate) and then want to dump them as part of building up your database. For example:

    use DBIx::Class::Migration::RunScript;

    migrate {
      my $self = shift;
      if($self->set_has_fixtures('all_tables')) {
        $self->populate('all_tables');
      } else {
        $self->schema
          ->resultset('Country')
          ->populate([
            ['code'],
            ['bel'],
            ['deu'],
            ['fra'],
          ]);

        $self->dump('all_tables');
      }
    };

In the above example if the fixture set exists and has previously been dumped we will populate the database with it. Else, we will create some data manually and then dump it so that next time it is available.

This trait requires a schema previously defined, such as provided by DBIx::Class::Migration::RunScript::Trait::SchemaLoader.

This trait is one of the defaults for the exported method migrate in DBIx::Class::Migration::RunScript.

methods ^

This class defines the follow methods.

dump

Requires $arg || @args

Given a fixture set (or list of sets), use DBIx::Class::Fixtures to dump them from the current database.

When naming sets, you skip the '.json' extension.

SEE ALSO ^

DBIx::Class::Migration, DBIx::Class::Migration::RunScript

AUTHOR ^

See DBIx::Class::Migration for author information

COPYRIGHT & LICENSE ^

See DBIx::Class::Migration for copyright and license information

syntax highlighting: