1 # @tag: defaults_split_address
 
   2 # @description: Adress-Feld in Mandantenkonfiguration in einzelne Bestandteile aufteilen
 
   3 # @depends: release_3_5_4
 
   4 package SL::DBUpgrade2::defaults_split_address;
 
   9 use parent qw(SL::DBUpgrade2::Base);
 
  14   my ($address) = $self->dbh->selectrow_array("SELECT address FROM defaults");
 
  16   my (@street, $zipcode, $city, $country);
 
  17   my @lines = grep { $_ } split m{\r*\n+}, $address // '';
 
  19   foreach my $line (@lines) {
 
  20     if ($line =~ m{^(?:[a-z]+[ -])?(\d+) +(.+)}i) {
 
  21       ($zipcode, $city) = ($1, $2);
 
  31   $self->db_query(<<SQL);
 
  33     ADD COLUMN  address_street1 TEXT,
 
  34     ADD COLUMN  address_street2 TEXT,
 
  35     ADD COLUMN  address_zipcode TEXT,
 
  36     ADD COLUMN  address_city    TEXT,
 
  37     ADD COLUMN  address_country TEXT,
 
  41   $self->db_query(<<SQL, bind => [ map { $_ // '' } ($street[0], $street[1], $zipcode, $city, $country) ]);
 
  43     SET address_street1 = ?,