# @tag: acc_trans_id_uniqueness
# @description: Sorgt dafür, dass acc_trans.acc_trans_id eindeutig ist
# @depends: release_2_6_1
-# @charset: utf-8
+package SL::DBUpgrade2::acc_trans_id_uniqueness;
use utf8;
use strict;
-use Data::Dumper;
-die "This script cannot be run from the command line." unless $::form;
+use parent qw(SL::DBUpgrade2::Base);
-sub mydberror {
- my ($msg) = @_;
- die $dbup_locale->text("Database update error:") . "<br>$msg<br>" . $DBI::errstr;
-}
-
-sub do_query {
- my ($query, $may_fail) = @_;
+use SL::DBUtils;
- return if $dbh->do($query);
-
- mydberror($query) unless ($may_fail);
- $dbh->rollback();
- $dbh->begin_work();
-}
+sub run {
+ my ($self) = @_;
-sub do_update {
my $query = <<SQL;
SELECT acc_trans_id, trans_id, itime, mtime
FROM acc_trans
ORDER BY trans_id, itime, mtime NULLS FIRST
SQL
- my @entries = selectall_hashref_query($form, $dbh, $query);
+ my @entries = selectall_hashref_query($::form, $self->dbh, $query);
return 1 unless @entries;
))
SQL
- do_query($query, 0);
+ $self->db_query($query);
my %skipped_acc_trans_ids;
foreach my $entry (@entries) {
AND (mtime $mtime)
SQL
- do_query($query, 0);
+ $self->db_query($query);
}
}
return 1;
}
-return do_update();
+1;