Revision 19616466
Von Moritz Bunkus vor fast 10 Jahren hinzugefügt
sql/Pg-upgrade2/convert_taxzone.pl | ||
---|---|---|
}
|
||
$sth->finish;
|
||
|
||
my $taxzone_charts_update_query = "INSERT INTO taxzone_charts (taxzone_id, buchungsgruppen_id, income_accno_id, expense_accno_id) VALUES (?, ?, ?, ?)";
|
||
$sth = $self->dbh->prepare($taxzone_charts_update_query);
|
||
|
||
# convert Buchungsgruppen to taxzone_charts if any exist
|
||
# the default swiss COA doesn't have any, for example
|
||
if ( scalar @{ $::form->{buchungsgruppen} } > 0 ) {
|
||
my $taxzone_charts_update_query;
|
||
if ( scalar @{ $::form->{buchungsgruppen} } > 0 ) {
|
||
foreach my $taxzone ( @{$::form->{taxzones}} ) {
|
||
foreach my $buchungsgruppe ( @{$::form->{buchungsgruppen}} ) {
|
||
my $id = $taxzone->{id};
|
||
my $income_accno_id = $buchungsgruppe->{"income_accno_id_$id"};
|
||
my $expense_accno_id = $buchungsgruppe->{"expense_accno_id_$id"};
|
||
# TODO: check if the variables have a value
|
||
$taxzone_charts_update_query .= "INSERT INTO taxzone_charts (taxzone_id, buchungsgruppen_id, income_accno_id, expense_accno_id) VALUES ('$taxzone->{id}', '$buchungsgruppe->{id}', $income_accno_id, $expense_accno_id);\n";
|
||
my @values = ($taxzone->{id}, $buchungsgruppe->{id}, $income_accno_id, $expense_accno_id);
|
||
$sth->execute(@values) && next;
|
||
$taxzone_charts_update_query =~ s{\?}{shift(@values)}eg;
|
||
$::form->dberror($taxzone_charts_update_query);
|
||
};
|
||
};
|
||
$self->db_query($taxzone_charts_update_query) if $taxzone_charts_update_query;
|
||
};
|
||
|
||
$sth->finish;
|
||
|
||
my $clean_buchungsgruppen_query = <<SQL;
|
||
alter table buchungsgruppen drop column income_accno_id_0;
|
||
alter table buchungsgruppen drop column income_accno_id_1;
|
Auch abrufbar als: Unified diff
convert_taxzones-Upgrade: prepared statement für Fehlermeldungen und Performance