deprecation warnings
[dbsrgits/DBIx-Class-DeploymentHandler.git] / lib / DBIx / Class / DeploymentHandler / VersionStorage / Deprecated / Component.pm
CommitLineData
01342998 1package DBIx::Class::DeploymentHandler::VersionStorage::Deprecated::Component;
2
0fa93773 3# ABSTRACT: (DEPRECATED) Attach this component to your schema to ensure you stay up to date
4
01342998 5use strict;
6use warnings;
7
8use Carp 'carp';
9use DBIx::Class::DeploymentHandler::VersionStorage::Deprecated::VersionResult;
10
11sub attach_version_storage {
12 $_[0]->register_class(
13 dbix_class_schema_versions => 'DBIx::Class::DeploymentHandler::VersionStorage::Deprecated::VersionResult'
14 );
15}
16
17sub connection {
18 my $self = shift;
19 $self->next::method(@_);
20
21 $self->attach_version_storage;
22
23 my $args = $_[3] || {};
24
25 unless ( $args->{ignore_version} || $ENV{DBIC_NO_VERSION_CHECK}) {
26 my $versions = $self->resultset('dbix_class_schema_versions');
27
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";
33 }
34 }
35
36 return $self;
37}
38
391;
e52174e3 40
41# vim: ts=2 sw=2 expandtab
42
43__END__
44
e068a12a 45=head1 DEPRECATED
46
47This component has been suplanted by
48L<DBIx::Class::DeploymentHandler::VersionStorage::Standard::Component>.
49In the next major version (1) we will begin issuing a warning on it's use.
50In the major version after that (2) we will remove it entirely.
51