-change handling of schema versioning to avoid deployment of FK constraints
This commit is contained in:
@@ -10,23 +10,22 @@ use Netdisco::DB;
|
||||
use Try::Tiny;
|
||||
use feature 'say';
|
||||
|
||||
try {
|
||||
my $count = schema->resultset('Device')->count();
|
||||
}
|
||||
catch {
|
||||
# fresh install? deploy the Netdisco::DB schema
|
||||
say 'Deploying Netdisco::DB schema...';
|
||||
schema->txn_do(sub { schema->deploy() });
|
||||
exec $0;
|
||||
};
|
||||
|
||||
if (not schema->get_db_version()) {
|
||||
# installs the dbix_class_schema_versions table with version "0"
|
||||
# installs the dbix_class_schema_versions table with version "1"
|
||||
# which corresponds to an empty schema
|
||||
say 'Installing DBIx::Class versioning to Netdisco::DB schema...';
|
||||
schema->txn_do(sub { schema->install("1") });
|
||||
exec $0;
|
||||
}
|
||||
|
||||
try {
|
||||
# if schema exists, assume it's current public Netdisco version
|
||||
if (schema->get_db_version() == 1
|
||||
and my $count = schema->resultset('Device')->count()) {
|
||||
schema->txn_do(sub { schema->_set_db_version("2") });
|
||||
}
|
||||
};
|
||||
|
||||
# upgrades from whatever dbix_class_schema_versions says, to $VERSION
|
||||
say 'Upgrading Netdisco::DB schema...';
|
||||
schema->txn_do(sub { schema->upgrade() });
|
||||
|
||||
Reference in New Issue
Block a user