blob: 00f630682c5c5409a56540c2c2aaed89a81be075 (
plain) (
tree)
|
|
#!/usr/bin/env perl
use strict;
use warnings;
use lib 'lib';
use YAML::Syck;
use DBIx::Class::DeploymentHandler;
use SQL::Translator;
my $config = shift;
die "need configuration file" unless $config;
my $schema = 'jitterbug::Schema';
my $version = eval "use $schema; $schema->VERSION" or die $@;
print "processing version $version of $schema...\n";
my $jitterbug_conf = LoadFile($config);
my $dbix_conf = $jitterbug_conf->{plugins}->{DBIC}->{schema};
my $s = $schema->connect( @{ $dbix_conf->{connect_info} } );
my $dh = DBIx::Class::DeploymentHandler->new(
{
schema => $s,
databases => [qw/ SQLite PostgreSQL MySQL /],
sql_translator_args => { add_drop_table => 0, },
}
);
print "generating deployment script\n";
$dh->prepare_install;
if ( $version > 1 ) {
print "generating upgrade script\n";
$dh->prepare_upgrade(
{
from_version => $version - 1,
to_version => $version,
version_set => [ $version - 1, $version ],
}
);
print "generating downgrade script\n";
$dh->prepare_downgrade(
{
from_version => $version,
to_version => $version - 1,
version_set => [ $version, $version - 1 ],
}
);
}
# print "generating graph\n";
# my $trans = SQL::Translator->new(
# parser => 'SQL::Translator::Parser::DBIx::Class',
# parser_args => { package => $schema },
# producer_args => {
# show_constraints => 1,
# show_datatypes => 1,
# show_sizes => 1,
# show_fk_only => 0,
# }
# );
# $trans->translate;
print "done\n";
|