App-Netdisco
view release on metacpan - search on metacpan
view release on metacpan or search on metacpan
bin/netdisco-db-deploy view on Meta::CPAN
#!/usr/bin/env perl
use strict;
use warnings;
our $home;
BEGIN {
use FindBin;
FindBin::again();
$home = ($ENV{NETDISCO_HOME} || $ENV{HOME});
# try to find a localenv if one isn't already in place.
if (!exists $ENV{PERL_LOCAL_LIB_ROOT}) {
use File::Spec;
my $localenv = File::Spec->catfile($FindBin::RealBin, 'localenv');
exec($localenv, $0, @ARGV) if -f $localenv;
$localenv = File::Spec->catfile($home, 'perl5', 'bin', 'localenv');
exec($localenv, $0, @ARGV) if -f $localenv;
die "Sorry, can't find libs required for App::Netdisco.\n"
if !exists $ENV{PERLBREW_PERL};
}
}
BEGIN {
use Path::Class;
# stuff useful locations into @INC and $PATH
unshift @INC,
dir($FindBin::RealBin)->parent->subdir('lib')->stringify,
dir($FindBin::RealBin, 'lib')->stringify;
use Config;
$ENV{PATH} = $FindBin::RealBin . $Config{path_sep} . $ENV{PATH};
}
use App::Netdisco;
use Dancer ':script';
use Dancer::Plugin::DBIC 'schema';
use Try::Tiny;
=head1 NAME
netdisco-db-deploy - Database deployment for Netdisco
=head1 USAGE
This script upgrades or initialises a Netdisco database schema.
~/bin/netdisco-db-deploy [--redeploy-all]
This script connects to the database and runs without user interaction. If
there's no Nedisco schema, it is deployed. If there's an unversioned schema
then versioning is added, and updates applied. Otherwise only necessary
updates are applied to an already versioned schema.
Pre-existing requirements are that there's a working database connection and a
user with rights to create tables in that database. These settings are defined
in your environment YAML file (default C<~/environments/deployment.yml>).
If you wish to force the redeployment of all database configuration, pass the
C<--redeploy-all> argument on the command line. This will reset your database
version so the database scripts will run again, but no data will be deleted
other than what's done via the upgrade scripts.
For more database info see the
L<netdisco wiki|https://github.com/netdisco/netdisco/wiki/Database-Tips>.
=head1 VERSIONS
=over 4
=item *
Version 1 is a completely empty database schema with no tables
=item *
view all matches for this distributionview release on metacpan - search on metacpan
( run in 0.716 second using v1.00-cache-2.02-grep-82fe00e-cpan-f73e49a70403 )