Perl-Datenbank-Upgradescripte auf Objektorientierung & strict umgestellt
[kivitendo-erp.git] / sql / Pg-upgrade2-auth / auth_schema_normalization_1.pl
1 # @tag: auth_schema_normalization_1
2 # @description: Auth-Datenbankschema Normalisierungen Teil 1
3 # @depends:
4 package SL::DBUpgrade2::auth_schema_normalization_1;
5
6 use strict;
7 use utf8;
8
9 use parent qw(SL::DBUpgrade2::Base);
10
11 sub do_one {
12   my ($self, $query) = @_;
13
14   if ($self->dbh->do($query)) {
15     $self->dbh->commit();
16   } else {
17     $self->dbh->rollback();
18   }
19 }
20
21 sub run {
22   my ($self) = @_;
23
24   $self->dbh($::auth->dbconnect);
25
26   my @queries = ( qq|ALTER TABLE auth.group_rights ADD PRIMARY KEY (group_id, "right");|,
27                   qq|ALTER TABLE auth.user_config  ADD PRIMARY KEY (user_id,  cfg_key);|,
28                   qq|ALTER TABLE auth.user_group   ADD PRIMARY KEY (user_id,  group_id);|);
29
30   $self->do_one($_) for @queries;
31 }
32
33 1;