Sorry, I found critical data...
|
1 |
#!/usr/bin/env perl |
2 | ||
3 |
use strict; |
|
4 |
use warnings; |
|
5 | ||
6 |
use FindBin; |
|
7 |
use lib "$FindBin::Bin/../extlib/lib/perl5"; |
|
8 |
use DBIx::Custom; |
|
9 | ||
10 |
my $database_file = shift; |
|
11 | ||
12 |
# New DBI |
|
13 |
my %dbi_args = ( |
|
14 |
dsn => "dbi:SQLite:database=$database_file", |
|
15 |
connector => 1, |
|
16 |
option => {sqlite_unicode => 1, sqlite_use_immediate_transaction => 1} |
|
17 |
); |
|
18 |
my $dbi = DBIx::Custom->connect(%dbi_args); |
|
19 | ||
20 |
# Copy pull_request data to issue |
|
21 |
my $pull_requests = $dbi->select(table => 'pull_request')->all; |
|
issue belong to project
|
22 |
my $issue_project_numbers = {}; |
Sorry, I found critical data...
|
23 |
for my $pull_request (@$pull_requests) { |
issue belong to project
|
24 | |
25 |
my $project = $pull_request->{base_project}; |
|
26 |
$issue_project_numbers->{$project}++; |
|
Sorry, I found critical data...
|
27 |
my $new_issue = { |
28 |
row_id => $pull_request->{row_id}, |
|
29 |
title => $pull_request->{title}, |
|
30 |
open => $pull_request->{open}, |
|
31 |
open_time => $pull_request->{open_time}, |
|
32 |
open_user => $pull_request->{open_user}, |
|
issue belong to project
|
33 |
pull_request => $pull_request->{row_id}, |
34 |
project => $project, |
|
35 |
number => $issue_project_numbers->{$project} |
|
Sorry, I found critical data...
|
36 |
}; |
37 |
|
|
38 |
my $issue = $dbi->select( |
|
39 |
table => 'issue', |
|
40 |
where => {row_id => $new_issue->{row_id}} |
|
41 |
)->one; |
|
42 |
|
|
43 |
unless ($issue) { |
|
44 |
$dbi->insert($new_issue, table => 'issue'); |
|
45 |
} |
|
46 |
} |
|
47 | ||
48 |
my $pull_request_messages = $dbi->select(table => 'pull_request_message')->all; |
|
49 |
for my $pull_request_message (@$pull_request_messages) { |
|
50 |
my $new_issue_message = { |
|
51 |
row_id => $pull_request_message->{row_id}, |
|
52 |
issue => $pull_request_message->{pull_request}, |
|
53 |
number => $pull_request_message->{number}, |
|
54 |
message => $pull_request_message->{message}, |
|
55 |
create_time => $pull_request_message->{create_time}, |
|
56 |
update_time => $pull_request_message->{update_time}, |
|
57 |
user => $pull_request_message->{user} |
|
58 |
}; |
|
59 |
|
|
60 |
my $issue_message = $dbi->select( |
|
61 |
table => 'issue_message', |
|
62 |
where => {row_id => $new_issue_message->{row_id}} |
|
63 |
)->one; |
|
64 |
|
|
65 |
unless ($issue_message) { |
|
66 |
$dbi->insert($new_issue_message, table => 'issue_message'); |
|
67 |
} |
|
68 |
} |