From: Devin Austin Date: Thu, 16 Jul 2009 09:25:47 +0000 (+0000) Subject: added Deploy prototype X-Git-Tag: 5.80014_02~89 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Runtime.git;a=commitdiff_plain;h=1efc6c6b51bccdfb5574b79abfa6904d2c6869d7 added Deploy prototype --- diff --git a/lib/Catalyst/Script/Deploy.pm b/lib/Catalyst/Script/Deploy.pm new file mode 100644 index 0000000..79dafe5 --- /dev/null +++ b/lib/Catalyst/Script/Deploy.pm @@ -0,0 +1,62 @@ +package Catalyst::Script::Deploy; + +use Moose; +use namespace::autoclean; + +with 'MooseX::Getopt'; +use Config::General; +use FindBin; +use lib "$FindBin::Bin/../lib"; + +has _app => ( + reader => 'app', + init_arg => 'app', + traits => [qw(NoGetopt)], + isa => 'Str', + is => 'ro', +); + +has conf => ( + is => 'ro', + isa => 'Str', + traits => [qw(Getopt)], + cmd_alias => 'c', +); + + + + + +sub usage { + + print "usage: perl script/boyosplace_deploy_schema.pl boyosplace.conf\n"; + exit; + +} + +sub run { + my ($self) = shift; + + $self->usage if $self->help; + + my $app = $self->app; + Class::MOP::load_class($app); + Class::MOP::load_class("$app::Schema"); + + my %hash = $conf->getall; + + my $schema = $app::Schema->connect( + $hash{"Model::$schema_name"}{connect_info}[0], + $hash{"Model::$schema_name"}{connect_info}[1], + $hash{"Model::$schema_name"}{connect_info}[2] + ); + $schema->deploy( { add_drop_tables => 1 } ); + + +} + +no Moose; +__PACKAGE__->meta->make_immutable; + +1; +