summaryrefslogtreecommitdiff
path: root/GroLUG/test_manuali/prova_db.pl
blob: 0a3849d65e71eed8babb11b13a8c80ca2d11ad28 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#!/usr/bin/perl 
use strict;
use warnings;
use GroLUG::M::DB;
use DateTime;
 
#use Devel::TraceCalls;trace_calls { Package => [qw(DBIx::Class::Schema DBIx::Class::Storage::DBI)]}; 
 
my $schema=GroLUG::M::DB->connect('dbi:Pg:dbname=iscritti',
    'grolug',
    '',
    RaiseError => 1, PrintError => 0, ShowErrorStatement => 1, TraceLevel => 0 });
 
{
my $iscritto=$schema->resultset('Iscritto')->create({
    nome => '__tizio',
    email => 'tizio@qui',
});
 
$iscritto->add_to_pagamenti({
    data_pagamento=>DateTime->now(),
    data_iscrizione=>DateTime->now()->subtract(days=>10),
    data_scadenza=>DateTime->now()->subtract(days=>10)->add(years=>1),
    prezzo=>50});
 
$iscritto->add_to_pagamenti({
    data_pagamento=>DateTime->now()->subtract(years=>1),
    data_iscrizione=>DateTime->now()->subtract(years=>1,days=>22),
    data_scadenza=>DateTime->now()->subtract(days=>11),
    prezzo=>50});
 
}
 
my $iscritto=$schema->resultset('Iscritto')->search({email=>'tizio@qui'})->next();;
 
my $last_pag=$iscritto->pagamenti({},{order_by => 'data_scadenza desc'})->next();
print 'Prossima scadenza: ',$last_pag->data_scadenza(),"\n";
 
$schema->resultset('Pagamento')->delete();
$schema->resultset('Iscritto')->delete();