$self->backup();
- $self->run_upgrade(qr/create/i);
- $self->run_upgrade(qr/alter table .*? add/i);
- $self->run_upgrade(qr/alter table .*? (?!drop)/i);
- $self->run_upgrade(qr/alter table .*? drop/i);
- $self->run_upgrade(qr/drop/i);
-# $self->run_upgrade(qr//i);
+ $self->run_upgrade();
my $vschema = DBIx::Class::Version->connect(@{$self->storage->connect_info()});
my $vtable = $vschema->resultset('Table');
sub run_upgrade
{
my ($self, $stm) = @_;
+ $stm ||= qr//;
# print "Reg: $stm\n";
my @statements = grep { $_ =~ $stm } @{$self->_filedata};
# print "Statements: ", join("\n", @statements), "\n";
for (@statements)
{
- $self->storage->debugfh->print("$_\n") if $self->storage->debug;
-# print "Running \n>>$_<<\n";
+ $self->storage->debugobj->query_start($_) if $self->storage->debug;
$self->storage->dbh->do($_) or warn "SQL was:\n $_";
+ $self->storage->debugobj->query_end($_) if $self->storage->debug;
}
return 1;
=head1 NAME
-DBIx::Class::Versioning - DBIx::Class::Schema plugin for Schema upgrades
+DBIx::Class::Schema::Versioned - DBIx::Class::Schema plugin for Schema upgrades
=head1 SYNOPSIS
# my special backup process
}
- sub upgrade
- {
- my ($self) = @_;
-
- ## overridable sub, per default just runs all the commands.
-
- $self->run_upgrade(qr/create/i);
- $self->run_upgrade(qr/alter table .*? add/i);
- $self->run_upgrade(qr/alter table .*? (?!drop)/i);
- $self->run_upgrade(qr/alter table .*? drop/i);
- $self->run_upgrade(qr/drop/i);
- $self->run_upgrade(qr//i);
- }
-
=head1 DESCRIPTION
This module is a component designed to extend L<DBIx::Class::Schema>
C<upgrade> method, running whichever commands you specify via the
regex in the parameter.
+B<NOTE:> Since SQL::Translator 0.09000 it is better to just run all statmets
+in the order given, since the SQL produced is of better quality.
+
=head2 upgrade_directory
Use this to set the directory your upgrade files are stored in.