forked from lix-project/hydra
Ensure that stoptime and starttime are set for finished builds
This commit is contained in:
parent
57b2bb0674
commit
b1f89bf92d
|
@ -183,6 +183,9 @@ create table Builds (
|
||||||
|
|
||||||
keep integer not null default 0, -- true means never garbage-collect the build output
|
keep integer not null default 0, -- true means never garbage-collect the build output
|
||||||
|
|
||||||
|
check (finished = 0 or (stoptime is not null and stoptime != 0)),
|
||||||
|
check (finished = 0 or (starttime is not null and starttime != 0)),
|
||||||
|
|
||||||
foreign key (project) references Projects(name) on update cascade,
|
foreign key (project) references Projects(name) on update cascade,
|
||||||
foreign key (project, jobset) references Jobsets(project, name) on update cascade,
|
foreign key (project, jobset) references Jobsets(project, name) on update cascade,
|
||||||
foreign key (project, jobset, job) references Jobs(project, jobset, name) on update cascade
|
foreign key (project, jobset, job) references Jobs(project, jobset, name) on update cascade
|
||||||
|
|
10
src/sql/upgrade-15.sql
Normal file
10
src/sql/upgrade-15.sql
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
-- Previously we didn't always set stoptime. For those builds, set
|
||||||
|
-- stoptime to timestamp, since back then timestamp was the time the
|
||||||
|
-- build finished (for finished builds).
|
||||||
|
update builds set stoptime = timestamp where finished = 1 and (stoptime is null or stoptime = 0);
|
||||||
|
|
||||||
|
-- Idem for starttime.
|
||||||
|
update builds set starttime = timestamp where finished = 1 and (starttime is null or starttime = 0);
|
||||||
|
|
||||||
|
alter table builds add check (finished = 0 or (stoptime is not null and stoptime != 0));
|
||||||
|
alter table builds add check (finished = 0 or (starttime is not null and starttime != 0));
|
Loading…
Reference in a new issue