-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathimport-fipe.pl
36 lines (28 loc) · 1.06 KB
/
import-fipe.pl
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
#/usr/lib/perl
use strict;
use warnings;
use lib qw(..);
use JSON qw( );
use Data::Dumper;
my ($filename) = @ARGV;
my $json_text = do {
open(my $json_fh, "<:encoding(UTF-8)", $filename)
or die("Can't open \$filename\": $!\n");
local $/;
<$json_fh>
};
my $json = JSON->new;
my $data = $json->decode($json_text);
foreach my $key (keys %$data)
{
print "-- =======================================================================" . "\n";
print "INSERT INTO marcas (id, nome) VALUES (" . $key . ", '" . $data->{$key}->{"name"} . "');" . "\n";
foreach my $modelo (keys %{$data->{$key}->{"modelos"}})
{
print "INSERT INTO modelos (id, marca_id, nome) VALUES (" . $modelo . ", " . $key . ", '" . $data->{$key}->{"modelos"}->{$modelo}->{"name"} . "');" . "\n";
foreach my $ano (keys %{$data->{$key}->{"modelos"}->{$modelo}->{"anos"}})
{
print "INSERT INTO anos (id, modelo_id, nome) VALUES ('" . $ano . "', " . $modelo . ", '" . $data->{$key}->{"modelos"}->{$modelo}->{"anos"}->{$ano} . "');" . "\n";
}
}
}