SQL::DBx::Deploy - Deployment support for SQL::DB
0.971.0. Development release.
use SQL::DB; use SQL::DBx::Deploy; my $db = SQL::DB->connect('dbi:SQLite:dbname=test'); $db->deploy($arrayref); $db->deploy_file('statements.sql'); $db->deploy_dir('/location');
SQL::DBx::Deploy adds very simple forward-only (re-)deployment support to SQL::DB. The approach is extremely simple, based on the number of statements already executed. SQL::DBx::Deploy keeps track of what has been run through a table in your database called '_deploy'.
You should only ever add new statements to your sources!
Runs the contents of $file (which must end in .sql or .pl) against the database.
Runs the SQL *.sql or Perl *.pl files found in $directory against the database.
Returns the count of all deployment statements for application $app (or 'default') that have already been deployed.
Deploys the statements in $arrayref which have not already been deployed for application $app (if given, 'default' otherwise). $arrayref is an array of hashrefs containing a single key/value pair. The key must be either sql or pl. Returns a two item list: the first value is the old deploy ID, the second value is the new deploy id.
Deploys the contents of $file (which must end in .sql or .pl) using deploy().
Loads the SQL *.sql or Perl *.pl files found in $directory and deploys them using deploy().
Returns a structure which you can save (any way you like) and use as the
table_info parameter to the
new method of SQL::DB.
Mark Lawrence <email@example.com>
Copyright (C) 2011 Mark Lawrence <firstname.lastname@example.org>
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.