forked from lix-project/hydra
Merge pull request #713 from grahamc/backport-flake-migration
Copy the flake migration from the flake branch
This commit is contained in:
commit
4a05bb36ac
|
@ -89,6 +89,11 @@ __PACKAGE__->table("jobsetevals");
|
||||||
data_type: 'integer'
|
data_type: 'integer'
|
||||||
is_nullable: 1
|
is_nullable: 1
|
||||||
|
|
||||||
|
=head2 flake
|
||||||
|
|
||||||
|
data_type: 'text'
|
||||||
|
is_nullable: 1
|
||||||
|
|
||||||
=cut
|
=cut
|
||||||
|
|
||||||
__PACKAGE__->add_columns(
|
__PACKAGE__->add_columns(
|
||||||
|
@ -117,6 +122,8 @@ __PACKAGE__->add_columns(
|
||||||
{ data_type => "integer", is_nullable => 1 },
|
{ data_type => "integer", is_nullable => 1 },
|
||||||
"nrsucceeded",
|
"nrsucceeded",
|
||||||
{ data_type => "integer", is_nullable => 1 },
|
{ data_type => "integer", is_nullable => 1 },
|
||||||
|
"flake",
|
||||||
|
{ data_type => "text", is_nullable => 1 },
|
||||||
);
|
);
|
||||||
|
|
||||||
=head1 PRIMARY KEY
|
=head1 PRIMARY KEY
|
||||||
|
@ -194,8 +201,8 @@ __PACKAGE__->belongs_to(
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
# Created by DBIx::Class::Schema::Loader v0.07049 @ 2020-02-06 12:22:36
|
# Created by DBIx::Class::Schema::Loader v0.07049 @ 2020-02-09 15:21:11
|
||||||
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:4ZaT8Z1tmCCt6k4ein0MNg
|
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:Ar6GRni8AcAQmuZyg6tFKw
|
||||||
|
|
||||||
__PACKAGE__->has_many(
|
__PACKAGE__->has_many(
|
||||||
"buildIds",
|
"buildIds",
|
||||||
|
|
|
@ -54,12 +54,12 @@ __PACKAGE__->table("jobsets");
|
||||||
=head2 nixexprinput
|
=head2 nixexprinput
|
||||||
|
|
||||||
data_type: 'text'
|
data_type: 'text'
|
||||||
is_nullable: 0
|
is_nullable: 1
|
||||||
|
|
||||||
=head2 nixexprpath
|
=head2 nixexprpath
|
||||||
|
|
||||||
data_type: 'text'
|
data_type: 'text'
|
||||||
is_nullable: 0
|
is_nullable: 1
|
||||||
|
|
||||||
=head2 errormsg
|
=head2 errormsg
|
||||||
|
|
||||||
|
@ -137,6 +137,17 @@ __PACKAGE__->table("jobsets");
|
||||||
data_type: 'integer'
|
data_type: 'integer'
|
||||||
is_nullable: 1
|
is_nullable: 1
|
||||||
|
|
||||||
|
=head2 type
|
||||||
|
|
||||||
|
data_type: 'integer'
|
||||||
|
default_value: 0
|
||||||
|
is_nullable: 0
|
||||||
|
|
||||||
|
=head2 flake
|
||||||
|
|
||||||
|
data_type: 'text'
|
||||||
|
is_nullable: 1
|
||||||
|
|
||||||
=cut
|
=cut
|
||||||
|
|
||||||
__PACKAGE__->add_columns(
|
__PACKAGE__->add_columns(
|
||||||
|
@ -147,9 +158,9 @@ __PACKAGE__->add_columns(
|
||||||
"description",
|
"description",
|
||||||
{ data_type => "text", is_nullable => 1 },
|
{ data_type => "text", is_nullable => 1 },
|
||||||
"nixexprinput",
|
"nixexprinput",
|
||||||
{ data_type => "text", is_nullable => 0 },
|
{ data_type => "text", is_nullable => 1 },
|
||||||
"nixexprpath",
|
"nixexprpath",
|
||||||
{ data_type => "text", is_nullable => 0 },
|
{ data_type => "text", is_nullable => 1 },
|
||||||
"errormsg",
|
"errormsg",
|
||||||
{ data_type => "text", is_nullable => 1 },
|
{ data_type => "text", is_nullable => 1 },
|
||||||
"errortime",
|
"errortime",
|
||||||
|
@ -178,6 +189,10 @@ __PACKAGE__->add_columns(
|
||||||
{ data_type => "boolean", is_nullable => 1 },
|
{ data_type => "boolean", is_nullable => 1 },
|
||||||
"starttime",
|
"starttime",
|
||||||
{ data_type => "integer", is_nullable => 1 },
|
{ data_type => "integer", is_nullable => 1 },
|
||||||
|
"type",
|
||||||
|
{ data_type => "integer", default_value => 0, is_nullable => 0 },
|
||||||
|
"flake",
|
||||||
|
{ data_type => "text", is_nullable => 1 },
|
||||||
);
|
);
|
||||||
|
|
||||||
=head1 PRIMARY KEY
|
=head1 PRIMARY KEY
|
||||||
|
@ -335,8 +350,8 @@ __PACKAGE__->has_many(
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
# Created by DBIx::Class::Schema::Loader v0.07049 @ 2020-02-06 12:22:36
|
# Created by DBIx::Class::Schema::Loader v0.07049 @ 2020-02-09 15:21:11
|
||||||
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:fYKx6VRlNG5XiDZ73Qr6Rw
|
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:FVP1/AWjdKTlY6djrG592A
|
||||||
|
|
||||||
my %hint = (
|
my %hint = (
|
||||||
columns => [
|
columns => [
|
||||||
|
|
|
@ -54,8 +54,8 @@ create table Jobsets (
|
||||||
name text not null,
|
name text not null,
|
||||||
project text not null,
|
project text not null,
|
||||||
description text,
|
description text,
|
||||||
nixExprInput text not null, -- name of the jobsetInput containing the Nix or Guix expression
|
nixExprInput text, -- name of the jobsetInput containing the Nix or Guix expression
|
||||||
nixExprPath text not null, -- relative path of the Nix or Guix expression
|
nixExprPath text, -- relative path of the Nix or Guix expression
|
||||||
errorMsg text, -- used to signal the last evaluation error etc. for this jobset
|
errorMsg text, -- used to signal the last evaluation error etc. for this jobset
|
||||||
errorTime integer, -- timestamp associated with errorMsg
|
errorTime integer, -- timestamp associated with errorMsg
|
||||||
lastCheckedTime integer, -- last time the evaluator looked at this jobset
|
lastCheckedTime integer, -- last time the evaluator looked at this jobset
|
||||||
|
@ -70,7 +70,11 @@ create table Jobsets (
|
||||||
fetchErrorMsg text,
|
fetchErrorMsg text,
|
||||||
forceEval boolean,
|
forceEval boolean,
|
||||||
startTime integer, -- if jobset is currently running
|
startTime integer, -- if jobset is currently running
|
||||||
|
type integer not null default 0, -- 0 == legacy, 1 == flake
|
||||||
|
flake text,
|
||||||
check (schedulingShares > 0),
|
check (schedulingShares > 0),
|
||||||
|
check ((type = 0) = (nixExprInput is not null and nixExprPath is not null)),
|
||||||
|
check ((type = 1) = (flake is not null)),
|
||||||
primary key (project, name),
|
primary key (project, name),
|
||||||
foreign key (project) references Projects(name) on delete cascade on update cascade
|
foreign key (project) references Projects(name) on delete cascade on update cascade
|
||||||
#ifdef SQLITE
|
#ifdef SQLITE
|
||||||
|
@ -181,7 +185,8 @@ create table Builds (
|
||||||
|
|
||||||
-- Copy of the nixExprInput/nixExprPath fields of the jobset that
|
-- Copy of the nixExprInput/nixExprPath fields of the jobset that
|
||||||
-- instantiated this build. Needed if we want to reproduce this
|
-- instantiated this build. Needed if we want to reproduce this
|
||||||
-- build.
|
-- build. FIXME: this should be stored in JobsetEvals, storing it
|
||||||
|
-- here is denormal.
|
||||||
nixExprInput text,
|
nixExprInput text,
|
||||||
nixExprPath text,
|
nixExprPath text,
|
||||||
|
|
||||||
|
@ -522,6 +527,8 @@ create table JobsetEvals (
|
||||||
nrBuilds integer,
|
nrBuilds integer,
|
||||||
nrSucceeded integer, -- set lazily when all builds are finished
|
nrSucceeded integer, -- set lazily when all builds are finished
|
||||||
|
|
||||||
|
flake text, -- immutable flake reference
|
||||||
|
|
||||||
foreign key (project) references Projects(name) on delete cascade on update cascade,
|
foreign key (project) references Projects(name) on delete cascade on update cascade,
|
||||||
foreign key (project, jobset) references Jobsets(project, name) on delete cascade on update cascade
|
foreign key (project, jobset) references Jobsets(project, name) on delete cascade on update cascade
|
||||||
);
|
);
|
||||||
|
|
7
src/sql/upgrade-58.sql
Normal file
7
src/sql/upgrade-58.sql
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
alter table Jobsets alter column nixExprInput drop not null;
|
||||||
|
alter table Jobsets alter column nixExprPath drop not null;
|
||||||
|
alter table Jobsets add column type integer default 0;
|
||||||
|
alter table Jobsets add column flake text;
|
||||||
|
alter table Jobsets add check ((type = 0) = (nixExprInput is not null and nixExprPath is not null));
|
||||||
|
alter table Jobsets add check ((type = 1) = (flake is not null));
|
||||||
|
alter table JobsetEvals add column flake text;
|
Loading…
Reference in a new issue