X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FDeploymentHandler%2FDeployMethod%2FSQL%2FTranslator%2FDeprecated.pm;h=0d2febffd9cfefeb8e0cbe7bfbd28c243053c493;hb=a976d6e46695d7015239ee4c30cb3708f4ce7942;hp=19a7370e5e7407002df801e12c3dfea33a00fec2;hpb=42c2fec3aa2d4bb0eeff20637a883538f2737c80;p=dbsrgits%2FDBIx-Class-DeploymentHandler.git diff --git a/lib/DBIx/Class/DeploymentHandler/DeployMethod/SQL/Translator/Deprecated.pm b/lib/DBIx/Class/DeploymentHandler/DeployMethod/SQL/Translator/Deprecated.pm index 19a7370..0d2febf 100644 --- a/lib/DBIx/Class/DeploymentHandler/DeployMethod/SQL/Translator/Deprecated.pm +++ b/lib/DBIx/Class/DeploymentHandler/DeployMethod/SQL/Translator/Deprecated.pm @@ -1,41 +1,111 @@ package DBIx::Class::DeploymentHandler::DeployMethod::SQL::Translator::Deprecated; -use Moose; -use Method::Signatures::Simple; +use Moo; + +# ABSTRACT: (DEPRECATED) Use this if you are stuck in the past use File::Spec::Functions; -extends 'DBIx::Class::DeploymentHandler::DeployMethod::SQL::Translator', +extends 'DBIx::Class::DeploymentHandler::DeployMethod::SQL::Translator'; -method _ddl_schema_consume_filenames($type, $version) { - return [$self->_ddl_schema_produce_filename($type, $version)] +sub _ddl_schema_consume_filenames { + my ($self, $type, $version) = @_; + return [$self->_ddl_schema_produce_filename($type, $version)] } -method _ddl_schema_produce_filename($type, $version) { +sub _ddl_schema_produce_filename { + my ($self, $type, $version) = @_; my $filename = ref $self->schema; $filename =~ s/::/-/g; $filename = catfile( - $self->upgrade_directory, "$filename-$version-$type.sql" + $self->script_directory, "$filename-$version-$type.sql" ); return $filename; } -method _ddl_schema_up_produce_filename($type, $versions, $dir) { +sub _ddl_schema_up_produce_filename { + my ($self, $type, $versions, $dir) = @_; my $filename = ref $self->schema; $filename =~ s/::/-/g; $filename = catfile( - $self->upgrade_directory, "$filename-" . join( q(-), @{$versions} ) . "-$type.sql" + $self->script_directory, "$filename-" . join( q(-), @{$versions} ) . "-$type.sql" ); return $filename; } -method _ddl_schema_up_consume_filenames($type, $versions) { - return [$self->_ddl_schema_up_produce_filename($type, $versions)] +sub _ddl_schema_up_consume_filenames { + my ($self, $type, $versions) = @_; + return [$self->_ddl_schema_up_produce_filename($type, $versions)] } -__PACKAGE__->meta->make_immutable; - 1; + +# vim: ts=2 sw=2 expandtab + +__END__ + +=head1 DESCRIPTION + +All this module does is override a few parts of +L so that the files generated with +L will work with this out of the box. + +=head1 DEPRECATED + +I begrudgingly made this module (and other related modules) to keep porting +from L relatively simple. I will make changes +to ensure that it works with output from L etc, +but I will not add any new features to it. + +Once I hit major version 1 usage of this module will emit a warning. +On version 2 it will be removed entirely. + +=head1 THIS SUCKS + +Yeah, this old Deprecated thing is a drag. It can't do downgrades, it can only +use a single .sql file for migrations, it has no .pl support. You should +totally switch! Here's how: + + my $init_part = ref $schema; + $init_part =~ s/::/-/g; + opendir my $dh, 'sql'; + for (readdir $dh) { + if (/\Q$init_part\E-(.*)-(.*)(?:-(.*))?/) { + if (defined $3) { + cp $_, $dh->deploy_method->_ddl_schema_up_produce_filename($3, [$1, $2]); + } else { + cp $_, $dh->deploy_method->_ddl_schema_produce_filename($2, $1); + } + } + } + +=head1 OVERRIDDEN METHODS + +=over + +=item * + +L + +=item * + +L + +=item * + +L + +=item * + +L + +=back + +=head1 SEE ALSO + +This class is an implementation of +L. Pretty much all the +documentation is there.