=head1 NAME
DBIx::Class::Migration::Script::Help::install_if_needed - Install a migration only if needed
=head1 SYNOPSIS
dbic-migration install_if_needed --schema_class MyApp::Schema
=head1 DESCRIPTION
Install the database to the current C<$schema> version if it is not currently
installed. Otherwise this is a nop (even if the database is behind the schema).
=head1 OPTIONS
This command accepts the following options. You may learn more about each
option by typing C<dbic-migration help OPTION>. The following is a summary.
=head2 includes (I,lib,libs,include)
Optional.
Adds the listed paths to @INC. Handy during development when you want to use
a development schema class.
=head2 to_version
aliases:V, Optional
This is the target version of the database we are installing. The version
named must be have been previously prepared. If not specified, we will use
the current C<Schema> class version.
=head2 schema_class (S)
Accepts Str. Required.
This is the schema we use as the basis for creating, managing and running your
deployments. This should be the full package namespace defining your subclass
of L<DBIx::Class::Schema>. For example C<MyApp::Schema>.
If the L</schema_class> cannot be loaded, a hard exception will be thrown.
=head2 target_dir (D)
Optional.
When using a C<sandbox_class> for generating developer level database sandboxes,
you may wish to place the sandbox in a directory other than the default (which
is under the C<share> directory off the project root).
=head2 sandbox_class
Aliases: T, sb
Accepts: String (default: SqliteSandbox)
The class we use to create a developer level database sandbox.
You can change this to either 'PostgresqlSandbox' or 'MySQLSandbox', which will
create a sandbox using either L<DBIx::Class::Migration::MySQLSandbox> or
L<DBIx::Class::Migration::PostgresqlSandbox>.
=head2 user
Aliases: U
=head2 password
Aliases: P
=head2 dsn
Connection information to an already created and running instance of a database.
If you don't specify this, we will assume you want a developer level sandbox (
See L</sandbox>).
=head2 dbic_fixture_class
Accepts: String to a Perl Class. Defaults to L<DBIx::Class::Fixtures>
Lets you specify a fixture class.
=head2 dbic_fixtures_extra_args
Accepts: HashRef. Optional
Allows you to pass custom arguments to L<DBIx::Class::Fixtures>.
=head2 dbic_connect_attrs
=head2 dbi_connect_attrs
Accepts: HashRef, Optional
Lets you send custom attributes at C<connect> time to either L<DBIx::Class>
or the underlying L<DBI> and your storage C<DBD>.
=head1 SEE ALSO
L<DBIx::Class::Migration>, L<DBIx::Class::Migration::Script>,
L<DBIx::Class::Migration::Features>, L<DBIx::Class::Migration::Tutorial>
=head1 AUTHOR
See L<DBIx::Class::Migration> for author information
=head1 COPYRIGHT & LICENSE
See L<DBIx::Class::Migration> for copyright and license information
=cut