NAME
   DBIx::SQLite::Deploy - Easy SQLite deployment

VERSION
   Version 0.011

SYNOPSIS
       # ::Deploy will create the 'path/to' for you if it does not already exist
       my $deploy = DBIx::SQLite::Deploy->deploy( path/to/database.sqlite => <<_END_ )
       [% PRIMARY_KEY = "INTEGER PRIMARY KEY AUTOINCREMENT" %]
       [% KEY = "INTEGER" %]
       [% CLEAR %]
       ---
       CREATE TABLE artist (

           id                  [% PRIMARY_KEY %],
           uuid                TEXT NOT NULL,

           name                TEXT,
           description         TEXT,

           UNIQUE (uuid)
       );
       ---
       CREATE TABLE cd (

           id                  [% PRIMARY_KEY %],

           title               TEXT,
           description         TEXT
       );
       _END_

   To use with DBI

       $dbh = $deploy->connect

       # ...or the long way:

       $dbh = DBI->connect( $deploy->information )

   To use with DBIx::Class

       $schema = My::Schema->connect( $deploy->information )

DESCRIPTION
   DBIx::SQLite::Deploy is a tool for creating a database and getting back
   a DBI connection in as little work as possible. Essentially, you pass
   the path of your database and the schema (as a Template Toolkit
   template) to "DBIx::SQLite::Deploy->deploy". If the database is not
   there (file does not exist or is size 0), then ::Deploy will create the
   database and install the schema

Why Template Toolkit?
   Purely as a convenience. You probably have lots of repetition in your
   schema, and TT gives a way to combat that redundancy. You don't need to
   use it if you don't want/need to.

USAGE
 $deploy = DBIx::SQLite::Deploy->deploy( <path>, [ <schema> ], ... )
   Create a new deployment using <path> as the file for the SQLite
   database, and <schema> as the (optional) schema

   The schema argument can be in the form of a Template Toolkit document.

   The database will NOT be created until you ask to "->connect", ask for
   "->information", or manually "->deploy". To do creation on construction,
   pass "create => 1" as an argument

   DBIx::SQLite::Deploy will not deploy over an existing database (the file
   exists and has non-zero size)

 $deploy->connect
   Return a DBI database handle ($dbh)

 $deploy->information
 $deploy->info
   Return a list of connection information, suitable for passing to
   "DBI->connect"

 $deploy->deploy
   Deploy the database unless it already exists

SYNOPSIS
AUTHOR
   Robert Krimen, "<rkrimen at cpan.org>"

BUGS
   Please report any bugs or feature requests to "bug-dbix-sqlite-deploy at
   rt.cpan.org", or through the web interface at
   <http://rt.cpan.org/NoAuth/ReportBug.html?Queue=DBIx-SQLite-Deploy>. I
   will be notified, and then you'll automatically be notified of progress
   on your bug as I make changes.

SUPPORT
   You can find documentation for this module with the perldoc command.

       perldoc DBIx::SQLite::Deploy

   You can also look for information at:

   *   RT: CPAN's request tracker

       <http://rt.cpan.org/NoAuth/Bugs.html?Dist=DBIx-SQLite-Deploy>

   *   AnnoCPAN: Annotated CPAN documentation

       <http://annocpan.org/dist/DBIx-SQLite-Deploy>

   *   CPAN Ratings

       <http://cpanratings.perl.org/d/DBIx-SQLite-Deploy>

   *   Search CPAN

       <http://search.cpan.org/dist/DBIx-SQLite-Deploy/>

ACKNOWLEDGEMENTS
COPYRIGHT & LICENSE
   Copyright 2009 Robert Krimen, all rights reserved.

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