Perl-Datenbank-Upgradescripte auf Objektorientierung & strict umgestellt
[kivitendo-erp.git] / sql / Pg-upgrade2-auth / auth_schema_normalization_1.pl
index 78726cc..79df5f8 100644 (file)
@@ -1,30 +1,33 @@
-#!/usr/bin/perl
 # @tag: auth_schema_normalization_1
 # @description: Auth-Datenbankschema Normalisierungen Teil 1
 # @depends:
+package SL::DBUpgrade2::auth_schema_normalization_1;
 
 use strict;
+use utf8;
+
+use parent qw(SL::DBUpgrade2::Base);
 
 sub do_one {
-  my ($dbh, $query) = @_;
+  my ($self, $query) = @_;
 
-  if ($dbh->do($query)) {
-    $dbh->commit();
+  if ($self->dbh->do($query)) {
+    $self->dbh->commit();
   } else {
-    $dbh->rollback();
+    $self->dbh->rollback();
   }
 }
 
-sub do_all {
-  my $dbh = $::auth->dbconnect();
+sub run {
+  my ($self) = @_;
+
+  $self->dbh($::auth->dbconnect);
 
   my @queries = ( qq|ALTER TABLE auth.group_rights ADD PRIMARY KEY (group_id, "right");|,
                   qq|ALTER TABLE auth.user_config  ADD PRIMARY KEY (user_id,  cfg_key);|,
                   qq|ALTER TABLE auth.user_group   ADD PRIMARY KEY (user_id,  group_id);|);
 
-  do_one($dbh, $_) for @queries;
+  $self->do_one($_) for @queries;
 }
 
-do_all();
-
 1;