1 package DBIx::Class::DeploymentHandler::VersionStorage::Standard::Component;
3 # ABSTRACT: Attach this component to your schema to ensure you stay up to date
9 use DBIx::Class::DeploymentHandler::VersionStorage::Standard::VersionResult;
11 sub attach_version_storage {
12 $_[0]->register_class(
13 __VERSION => 'DBIx::Class::DeploymentHandler::VersionStorage::Standard::VersionResult'
19 $self->next::method(@_);
21 $self->attach_version_storage;
23 my $args = $_[3] || {};
25 unless ( $args->{ignore_version} || $ENV{DBIC_NO_VERSION_CHECK}) {
26 my $versions = $self->resultset('__VERSION');
28 if (!$versions->version_storage_is_installed) {
29 carp "Your DB is currently unversioned. Please call upgrade on your schema to sync the DB.\n";
30 } elsif ($versions->database_version ne $self->schema_version) {
31 carp 'Versions out of sync. This is ' . $self->schema_version .
32 ', your database contains version ' . $versions->database_version . ", please call upgrade on your Schema.\n";
41 # vim: ts=2 sw=2 expandtab