... | ... |
@@ -183,29 +183,29 @@ sub startup { |
183 | 183 |
table => 'ssh_public_key', |
184 | 184 |
primary_key => 'row_id', |
185 | 185 |
join => [ |
186 |
- 'left join user as user on ssh_public_key.user = user.row_id' |
|
186 |
+ 'left join user on ssh_public_key.user = user.row_id' |
|
187 | 187 |
] |
188 | 188 |
}, |
189 | 189 |
{ |
190 | 190 |
table => 'project', |
191 | 191 |
primary_key => 'row_id', |
192 | 192 |
join => [ |
193 |
- 'left join user as user on project.user = user.row_id' |
|
193 |
+ 'left join user on project.user = user.row_id' |
|
194 | 194 |
] |
195 | 195 |
}, |
196 | 196 |
{ |
197 | 197 |
table => 'collaboration', |
198 | 198 |
primary_key => 'row_id', |
199 | 199 |
join => [ |
200 |
- 'left join user as user on collaboration.user = user.row_id', |
|
201 |
- 'left join project as project on collaboration.project = project.row_id', |
|
200 |
+ 'left join user on collaboration.user = user.row_id', |
|
201 |
+ 'left join project on collaboration.project = project.row_id', |
|
202 | 202 |
] |
203 | 203 |
}, |
204 | 204 |
{ |
205 | 205 |
table => 'issue', |
206 | 206 |
join => [ |
207 |
- 'left join pull_request as pull_request on issue.pull_request = pull_request.row_id', |
|
208 |
- |
|
207 |
+ 'left join project on issue.project = project.row_id', |
|
208 |
+ 'left join pull_request on issue.pull_request = pull_request.row_id', |
|
209 | 209 |
'left join user as open_user on issue.open_user = open_user.row_id', |
210 | 210 |
'left join project as pull_request__base_project on pull_request.base_project = pull_request__base_project.row_id', |
211 | 211 |
'left join user as pull_request__base_project__user' |
... | ... |
@@ -220,8 +220,8 @@ sub startup { |
220 | 220 |
table => 'issue_message', |
221 | 221 |
primary_key => 'row_id', |
222 | 222 |
join => [ |
223 |
- 'left join user as user on issue_message.user = user.row_id', |
|
224 |
- 'left join issue as issue on issue_message.issue = issue.row_id' |
|
223 |
+ 'left join user on issue_message.user = user.row_id', |
|
224 |
+ 'left join issue on issue_message.issue = issue.row_id' |
|
225 | 225 |
] |
226 | 226 |
}, |
227 | 227 |
{ |
... | ... |
@@ -19,14 +19,20 @@ my $dbi = DBIx::Custom->connect(%dbi_args); |
19 | 19 |
|
20 | 20 |
# Copy pull_request data to issue |
21 | 21 |
my $pull_requests = $dbi->select(table => 'pull_request')->all; |
22 |
+my $issue_project_numbers = {}; |
|
22 | 23 |
for my $pull_request (@$pull_requests) { |
24 |
+ |
|
25 |
+ my $project = $pull_request->{base_project}; |
|
26 |
+ $issue_project_numbers->{$project}++; |
|
23 | 27 |
my $new_issue = { |
24 | 28 |
row_id => $pull_request->{row_id}, |
25 | 29 |
title => $pull_request->{title}, |
26 | 30 |
open => $pull_request->{open}, |
27 | 31 |
open_time => $pull_request->{open_time}, |
28 | 32 |
open_user => $pull_request->{open_user}, |
29 |
- pull_request => $pull_request->{row_id} |
|
33 |
+ pull_request => $pull_request->{row_id}, |
|
34 |
+ project => $project, |
|
35 |
+ number => $issue_project_numbers->{$project} |
|
30 | 36 |
}; |
31 | 37 |
|
32 | 38 |
my $issue = $dbi->select( |
... | ... |
@@ -156,7 +156,10 @@ EOS |
156 | 156 |
eval { |
157 | 157 |
my $sql = <<"EOS"; |
158 | 158 |
create table issue ( |
159 |
- row_id integer primary key autoincrement |
|
159 |
+ row_id integer primary key autoincrement, |
|
160 |
+ project integer not null default 0, |
|
161 |
+ number integer not null default 0, |
|
162 |
+ unique(project, number) |
|
160 | 163 |
); |
161 | 164 |
EOS |
162 | 165 |
$dbi->execute($sql); |
... | ... |
@@ -165,17 +168,17 @@ EOS |
165 | 168 |
# Create issue columns |
166 | 169 |
my @issue_columns = ( |
167 | 170 |
"title not null default ''", |
168 |
- "open integer default 0", |
|
169 |
- "open_time integer default 0", |
|
170 |
- "open_user integer default 0", |
|
171 |
- "pull_request integer default 0" |
|
171 |
+ "open integer not null default 0", |
|
172 |
+ "open_time integer not null default 0", |
|
173 |
+ "open_user integer not null default 0", |
|
174 |
+ "pull_request integer not null default 0", |
|
172 | 175 |
); |
173 | 176 |
for my $column (@issue_columns) { |
174 | 177 |
eval { $dbi->execute("alter table issue add column $column") }; |
175 | 178 |
} |
176 | 179 |
|
177 | 180 |
# Check issue table |
178 |
- eval { $dbi->select([qw/row_id title open open_time open_user pull_request/], table => 'issue') }; |
|
181 |
+ eval { $dbi->select([qw/row_id title open open_time open_user pull_request project/], table => 'issue') }; |
|
179 | 182 |
if ($@) { |
180 | 183 |
my $error = "Can't create issue table properly: $@"; |
181 | 184 |
die $error; |
... | ... |
@@ -197,8 +200,8 @@ EOS |
197 | 200 |
# Create issue_message columns |
198 | 201 |
my @issue_message_columns = ( |
199 | 202 |
"message not null default ''", |
200 |
- "create_time integer default 0", |
|
201 |
- "update_time integer default 0", |
|
203 |
+ "create_time integer not null default 0", |
|
204 |
+ "update_time integer not null default 0", |
|
202 | 205 |
"user integer not null default 0" |
203 | 206 |
); |
204 | 207 |
for my $column (@issue_message_columns) { |
... | ... |
@@ -377,7 +377,7 @@ |
377 | 377 |
</span> |
378 | 378 |
% } else { |
379 | 379 |
<span style="margin-left:10px"> |
380 |
- <span style="color:red;font-weight:bold"><%= "??" %>Not able to merge.</span> These branches can't be automatically merged. |
|
380 |
+ <span style="color:red;font-weight:bold">Not able to merge.</span> These branches can't be automatically merged. |
|
381 | 381 |
</span> |
382 | 382 |
% } |
383 | 383 |
% } |
... | ... |
@@ -21,8 +21,8 @@ |
21 | 21 |
{pull_request => ['target_branch']} |
22 | 22 |
], |
23 | 23 |
where => [ |
24 |
- ['and', ':issue.open{=}', ':pull_request{<>}'], |
|
25 |
- {'issue.open' => $open, pull_request => 0} |
|
24 |
+ ['and', ':issue.open{=}', ':pull_request{<>}', ':project.id{=}'], |
|
25 |
+ {'issue.open' => $open, pull_request => 0, 'project.id' => $project_id} |
|
26 | 26 |
] |
27 | 27 |
)->all; |
28 | 28 |
|
... | ... |
@@ -30,8 +30,8 @@ |
30 | 30 |
my $open_count = app->dbi->model('issue')->select( |
31 | 31 |
'count(*)', |
32 | 32 |
where => [ |
33 |
- ['and', ':issue.open{=}', ':pull_request{<>}'], |
|
34 |
- {'issue.open' => 1, pull_request => 0} |
|
33 |
+ ['and', ':issue.open{=}', ':pull_request{<>}', ':project.id{=}'], |
|
34 |
+ {'issue.open' => 1, pull_request => 0, 'project.id' => $project_id} |
|
35 | 35 |
] |
36 | 36 |
)->value; |
37 | 37 |
|
... | ... |
@@ -39,8 +39,8 @@ |
39 | 39 |
my $close_count = app->dbi->model('issue')->select( |
40 | 40 |
'count(*)', |
41 | 41 |
where => [ |
42 |
- ['and', ':issue.open{=}', ':pull_request{<>}'], |
|
43 |
- {'issue.open' => 0, pull_request => 0} |
|
42 |
+ ['and', ':issue.open{=}', ':pull_request{<>}', ':project.id{=}'], |
|
43 |
+ {'issue.open' => 0, pull_request => 0, 'project.id' => $project_id} |
|
44 | 44 |
] |
45 | 45 |
)->value; |
46 | 46 |
%> |