6 use Data::Dump qw(dump);
8 my $ua = Mojo::UserAgent->new;
10 my $from = 'http://10.60.0.95:5984/drzb2013';
11 my $to = 'http://10.60.0.95:5984/drzb2013v2';
13 my $docs = $ua->get("$from/_all_docs?include_docs=true")->res->json;
15 #warn "## docs = ",dump($docs);
17 foreach my $doc ( map { $_->{doc} } @{ $docs->{rows} } ) {
18 warn "OLD ",dump($doc);
22 $new->{$_} = lc( delete( $doc->{$_} ) ) foreach ( qw( _id _rev ) );
24 $new->{user} = delete $doc->{person};
25 $new->{id} = delete $doc->{'$id'};
27 $new->{user}->{registration_type} = delete $doc->{type} || die;
29 $new->{user}->{address} = delete $new->{user}->{address1};
30 $new->{user}->{firstname} = delete $new->{user}->{name};
31 $new->{user}->{zip_code} = delete $new->{user}->{zip};
32 $new->{user}->{organization} = delete $new->{user}->{inst};
34 $new->{user}->{dinner} = delete $doc->{dinner};
35 $new->{user}->{hpd_member} = delete $doc->{hpdmember};
36 $new->{user}->{student} = delete $doc->{student};
37 $new->{user}->{reception} = delete $doc->{reception};
39 if ( $doc->{r1} eq 'yes' ) {
40 $new->{user}->{r1} = {
41 required => Mojo::JSON->true,
42 OIB => delete $doc->{r1oib},
43 address => delete $doc->{r1address},
44 organization => delete $doc->{r1inst},
49 if ( $doc->{work}->{title} ) {
50 $new->{work}->{$_} = delete $doc->{work}->{$_} foreach (qw( title abstract ));
51 $new->{work}->{type} = $new->{user}->{registration_type};
52 my @persons = @{ delete $doc->{work}->{authors} };
53 foreach my $person ( @persons ) {
54 $person->{firstname} = delete $person->{name};
55 $person->{organization} = delete $person->{inst};
56 push @{ $new->{work}->{persons} }, $person;
60 $new->{entity} = 'registration';
62 warn "NEW ",dump($new);
64 warn "LEFT = ",dump($doc);
66 my $id = $new->{_id} || die "no _id in new";
67 my $result = $ua->put("$to/$id" => Mojo::JSON->new->encode( $new ))->res->json;
69 die "ERROR $to/$id ",dump($result) unless $result->{ok};
71 warn "SAVED $id into $to\n";
78 $ua->get("$to/_all_docs?include_docs=true")->res->json