++ed by:

1 PAUSE user
1 non-PAUSE user.

Jonathan Rockway


dbicdeploy - deploy a DBIx::Class schema to a database


Deploy to a database server:

    dbicdeploy schema DSN [username [password [{ extra => 'args'}]]]

Generate a directory containing SQL to execute to create the schema:

    dbicdeploy schema directory [databases]


    dbicdeploy -Ilib MyApp::Schema DBI:SQLite:root/database

    dbicdeploy MyApp::Schema DBI:mysql:foo username password

    dbicdeploy MyApp::Schema DBI:Pg:foo user pass '{ pg_enable_utf8 => 1 }'

    dbicdeploy MyApp::Schema root/myapp_schema

    dbicdeploy MyApp::Schema root/myapp_schema SQLite MySQL

See perldoc dbicdeploy for more information.



lib is a directory to add to the search path for the schema. You can have 0 or more of these, just like perl.


Alias for -Ilib


Get libraries from blib instead.


The name of the DBIx::Class::Schema subclass that you want to deploy.


The DBI data source (DBI:...) that you want to connect to, or the directory to write SQL scripts to.

Extra Arguments

Everything after the Schema and DSN will be passed to the connect command. Usually the first two arguments are the username and password.

The third argument is special. It will be run through eval, so you can say { hash => 'of options', and => 'so on' }, and DBI will see a hash, not a string. If the option doesn't parse as perl, the deploy will be aborted.

In the case that you're deploying to a file instead of a database, the arguments after the filename are used as the names of the database engines you want to generate SQL for.


DBICx::Deploy, included with this distribution.


Jonathan Rockway <jrockway@cpan.org>


This program is free software. You may redistribute it under the same terms as Perl it self.