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.