Footprintless::Plugin::Database

- NAME
- VERSION
- DESCRIPTION
- ENTITIES
- METHODS
  - db($footprintless, $coordinate, %options)
  - db_command_helper()
- AUTHOR
- COPYRIGHT AND LICENSE
- SEE ALSO

# NAME

Footprintless::Plugin::Database - A Footprintless plugin for working with databases

# VERSION

version 1.01

# DESCRIPTION

Provides the `db` factory method to the framework as well as the `db` command to the CLI.

# ENTITIES

As with all plugins, this must be registered on the `footprintless` entity. Also, it is necessary to specify the providers you want made available:

        plugins => [
            'Footprintless::Plugin::Database',
        ],
        'Footprintless::Plugin::Database' => {
            providers => {
                csv => 'Footprintless::Plugin::Database::CsvProvider',
                mysql => 'Footprintless::Plugin::Database::MySqlProvider',
                postres => 'Footprintless::Plugin::Database::PostgreSqlProvider',
            }
        }

You may supply your own providers given thaty the implement they interface outlined by Footprintless::Plugin::Database::AbstractProvider:

        'Footprintless::Plugin::Database' => {
            providers => {
                db2 => 'My::Database::Db2Provider',
            }
        }

Additional configuration is supported for specifying a default provider and a custom command helper implementation class:

        'Footprintless::Plugin::Database' => {
            command_helper => 'My::Automation::CommandHelper',
            default_provider => 'mysql'
            providers => {
                csv => 'Footprintless::Plugin::Database::CsvProvider',
                mysql => 'Footprintless::Plugin::Database::MySqlProvider',
                postres => 'Footprintless::Plugin::Database::PostgreSqlProvider',
            }
        }

See "ENTITIES" in Footprintless::Plugin::Database::AbstractProvider for example database entity configuration.

# METHODS

## db($footprintless, $coordinate, %options)

Returns a new database provider instance. See Footprintless::Plugin::Database::AbstractProvider.

## db_command_helper()

Returns a new command helper for the db command. See Footprintless::Plugin::Database::DefaultCommandHelper.

# AUTHOR

Lucas Theisen <lucastheisen@pastdev.com>

# COPYRIGHT AND LICENSE

This software is copyright (c) 2016 by Lucas Theisen.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.

# SEE ALSO

Please see those modules/websites for more information related to this module.

- DBI
- Footprintless
- Footprintless::MixableBase
- Footprintless::Plugin::Database
- Footprintless::Plugin::Database::AbstractProvider
- Footprintless::Plugin::Database::CsvProvider
- Footprintless::Plugin::Database::DefaultCommandHelper
- Footprintless::Plugin::Database::MySqlProvider
- Footprintless::Plugin::Database::PostgreSqlProvider