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 = ?,