| ... | ... |
@@ -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 |
%> |