Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision f99b7288

Von Niclas Zimmermann vor mehr als 10 Jahren hinzugefügt

  • ID f99b7288d58185a0e88ea78fa8847a6ae60e6c0f
  • Vorgänger f5c454e3
  • Nachfolger 2421ad47

id ungleich Null setzen in tax_zones

In der Tabelle tax_zones gibt es sehr häufig noch Einträge mit id=0.
Dadurch kommt es bei der Anzeige, und auch beim Bearbeiten dieses
Eintrags zu fehlern. Dieser Commit vergibt verändert den Wert der
id, s.d. die id einen von 0 verschiedenen Wert hat.

Unterschiede anzeigen:

sql/Pg-upgrade2/change_taxzone_id_0.pl
1
# @tag: change_taxzone_id_0
2
# @description: Verändert die id von 0 auf einen anderen Wert größer 0 in tax_zones, wenn es so einen Eintrag gibt.
3
# @depends: convert_taxzone taxzone_default_id taxzone_sortkey
4
package SL::DBUpgrade2::change_taxzone_id_0;
5

  
6
use strict;
7
use utf8;
8

  
9
use parent qw(SL::DBUpgrade2::Base);
10

  
11
sub run {
12
  my ($self) = @_;
13

  
14
  my $query = qq|SELECT id FROM tax_zones ORDER BY id DESC|;
15
  my ($id) = $self->dbh->selectrow_array($query);
16
  $id++;
17

  
18
  $query = qq|SELECT * FROM tax_zones WHERE id=0|;
19
  my $sth = $self->dbh->prepare($query);
20
  $sth->execute || $::form->dberror($query);
21

  
22
  my $ref = $sth->fetchrow_hashref("NAME_lc");
23

  
24
  $query = qq|INSERT INTO tax_zones (id, description, sortkey) VALUES (?,?,?)|;
25
  $self->db_query($query, bind => [ $id, $ref->{description}, $ref->{sortkey} ]);
26

  
27
  $query = qq|UPDATE taxzone_charts SET taxzone_id=$id WHERE taxzone_id=0|;
28
  $self->db_query($query);
29

  
30
  $sth->finish;
31

  
32
  $query = qq|DELETE FROM tax_zones WHERE id=0|;
33
  $self->db_query($query);
34

  
35
  return 1;
36
} # end run
37

  
38
1;

Auch abrufbar als: Unified diff