Merge branch 'master' of mjesec.ffzg.hr:/git/zc
[zc] / pg-export-by-month.pl
1 #!/usr/bin/perl
2 use warnings;
3 use strict;
4 use autodie;
5
6 use DBI;
7
8 my $pn2name;
9 open(my $n, '<', 'subvision-numbers.txt');
10 while(<$n>) {
11         chomp;
12         my ( $number, $pn, $imei, $name ) = split(/ /,$_);
13         $pn2name->{$pn} = $number;
14 }
15
16 my $dbh = DBI->connect("dbi:Pg:dbname=zc","dpavlin","", { RaiseError => 1 });
17 my $sth = $dbh->prepare( "select * from sub_bakaceva" );
18 $sth->execute;
19
20 my $yyyy_mm;
21 my $out;
22
23 while( my $row = $sth->fetchrow_arrayref ) {
24         my $ym = $row->[0];
25         $ym =~ s{(\d\d\d\d-\d\d).*}{$1};
26         my $pn = $row->[-1];
27         my $name = $pn2name->{$pn} || die "no name for $pn";
28
29         if ( ! defined( $out->{$name}->{$ym} ) ) {
30                 my $filename = "www/export/$ym-$name.csv";
31                 warn "# $filename\n";
32                 open( $out->{$name}->{$ym}, '>', $filename );
33                 print {$out->{$name}->{$ym}} join(',', @{ $sth->{NAME} }) . "\n";
34         }
35
36         print {$out->{$name}->{$ym}} join(',',@$row) . "\n";
37 }