DBIx likes to eagerly select all columns without a way to really tell it so. Therefore, this splits this one large column in to its own table. I'd also like to make "jobsets" use this table too, but that is on hold to stop the bleeding caused by the extreme amount of traffic this is causing.
253 lines
4.0 KiB
Perl
253 lines
4.0 KiB
Perl
use utf8;
|
|
package Hydra::Schema::JobsetEvals;
|
|
|
|
# Created by DBIx::Class::Schema::Loader
|
|
# DO NOT MODIFY THE FIRST PART OF THIS FILE
|
|
|
|
=head1 NAME
|
|
|
|
Hydra::Schema::JobsetEvals
|
|
|
|
=cut
|
|
|
|
use strict;
|
|
use warnings;
|
|
|
|
use base 'DBIx::Class::Core';
|
|
|
|
=head1 COMPONENTS LOADED
|
|
|
|
=over 4
|
|
|
|
=item * L<Hydra::Component::ToJSON>
|
|
|
|
=back
|
|
|
|
=cut
|
|
|
|
__PACKAGE__->load_components("+Hydra::Component::ToJSON");
|
|
|
|
=head1 TABLE: C<jobsetevals>
|
|
|
|
=cut
|
|
|
|
__PACKAGE__->table("jobsetevals");
|
|
|
|
=head1 ACCESSORS
|
|
|
|
=head2 id
|
|
|
|
data_type: 'integer'
|
|
is_auto_increment: 1
|
|
is_nullable: 0
|
|
sequence: 'jobsetevals_id_seq'
|
|
|
|
=head2 jobset_id
|
|
|
|
data_type: 'integer'
|
|
is_foreign_key: 1
|
|
is_nullable: 0
|
|
|
|
=head2 evaluationerror_id
|
|
|
|
data_type: 'integer'
|
|
is_foreign_key: 1
|
|
is_nullable: 1
|
|
|
|
=head2 timestamp
|
|
|
|
data_type: 'integer'
|
|
is_nullable: 0
|
|
|
|
=head2 checkouttime
|
|
|
|
data_type: 'integer'
|
|
is_nullable: 0
|
|
|
|
=head2 evaltime
|
|
|
|
data_type: 'integer'
|
|
is_nullable: 0
|
|
|
|
=head2 hasnewbuilds
|
|
|
|
data_type: 'integer'
|
|
is_nullable: 0
|
|
|
|
=head2 hash
|
|
|
|
data_type: 'text'
|
|
is_nullable: 0
|
|
|
|
=head2 nrbuilds
|
|
|
|
data_type: 'integer'
|
|
is_nullable: 1
|
|
|
|
=head2 nrsucceeded
|
|
|
|
data_type: 'integer'
|
|
is_nullable: 1
|
|
|
|
=head2 flake
|
|
|
|
data_type: 'text'
|
|
is_nullable: 1
|
|
|
|
=head2 nixexprinput
|
|
|
|
data_type: 'text'
|
|
is_nullable: 1
|
|
|
|
=head2 nixexprpath
|
|
|
|
data_type: 'text'
|
|
is_nullable: 1
|
|
|
|
=cut
|
|
|
|
__PACKAGE__->add_columns(
|
|
"id",
|
|
{
|
|
data_type => "integer",
|
|
is_auto_increment => 1,
|
|
is_nullable => 0,
|
|
sequence => "jobsetevals_id_seq",
|
|
},
|
|
"jobset_id",
|
|
{ data_type => "integer", is_foreign_key => 1, is_nullable => 0 },
|
|
"evaluationerror_id",
|
|
{ data_type => "integer", is_foreign_key => 1, is_nullable => 1 },
|
|
"timestamp",
|
|
{ data_type => "integer", is_nullable => 0 },
|
|
"checkouttime",
|
|
{ data_type => "integer", is_nullable => 0 },
|
|
"evaltime",
|
|
{ data_type => "integer", is_nullable => 0 },
|
|
"hasnewbuilds",
|
|
{ data_type => "integer", is_nullable => 0 },
|
|
"hash",
|
|
{ data_type => "text", is_nullable => 0 },
|
|
"nrbuilds",
|
|
{ data_type => "integer", is_nullable => 1 },
|
|
"nrsucceeded",
|
|
{ data_type => "integer", is_nullable => 1 },
|
|
"flake",
|
|
{ data_type => "text", is_nullable => 1 },
|
|
"nixexprinput",
|
|
{ data_type => "text", is_nullable => 1 },
|
|
"nixexprpath",
|
|
{ data_type => "text", is_nullable => 1 },
|
|
);
|
|
|
|
=head1 PRIMARY KEY
|
|
|
|
=over 4
|
|
|
|
=item * L</id>
|
|
|
|
=back
|
|
|
|
=cut
|
|
|
|
__PACKAGE__->set_primary_key("id");
|
|
|
|
=head1 RELATIONS
|
|
|
|
=head2 evaluationerror
|
|
|
|
Type: belongs_to
|
|
|
|
Related object: L<Hydra::Schema::EvaluationErrors>
|
|
|
|
=cut
|
|
|
|
__PACKAGE__->belongs_to(
|
|
"evaluationerror",
|
|
"Hydra::Schema::EvaluationErrors",
|
|
{ id => "evaluationerror_id" },
|
|
{
|
|
is_deferrable => 0,
|
|
join_type => "LEFT",
|
|
on_delete => "SET NULL",
|
|
on_update => "NO ACTION",
|
|
},
|
|
);
|
|
|
|
=head2 jobset
|
|
|
|
Type: belongs_to
|
|
|
|
Related object: L<Hydra::Schema::Jobsets>
|
|
|
|
=cut
|
|
|
|
__PACKAGE__->belongs_to(
|
|
"jobset",
|
|
"Hydra::Schema::Jobsets",
|
|
{ id => "jobset_id" },
|
|
{ is_deferrable => 0, on_delete => "CASCADE", on_update => "NO ACTION" },
|
|
);
|
|
|
|
=head2 jobsetevalinputs
|
|
|
|
Type: has_many
|
|
|
|
Related object: L<Hydra::Schema::JobsetEvalInputs>
|
|
|
|
=cut
|
|
|
|
__PACKAGE__->has_many(
|
|
"jobsetevalinputs",
|
|
"Hydra::Schema::JobsetEvalInputs",
|
|
{ "foreign.eval" => "self.id" },
|
|
undef,
|
|
);
|
|
|
|
=head2 jobsetevalmembers
|
|
|
|
Type: has_many
|
|
|
|
Related object: L<Hydra::Schema::JobsetEvalMembers>
|
|
|
|
=cut
|
|
|
|
__PACKAGE__->has_many(
|
|
"jobsetevalmembers",
|
|
"Hydra::Schema::JobsetEvalMembers",
|
|
{ "foreign.eval" => "self.id" },
|
|
undef,
|
|
);
|
|
|
|
|
|
# Created by DBIx::Class::Schema::Loader v0.07049 @ 2021-02-01 20:17:39
|
|
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:SGtK0PwRkbxiMuitQvs4wQ
|
|
|
|
__PACKAGE__->has_many(
|
|
"buildIds",
|
|
"Hydra::Schema::JobsetEvalMembers",
|
|
{ "foreign.eval" => "self.id" },
|
|
);
|
|
|
|
__PACKAGE__->many_to_many(builds => 'buildIds', 'build');
|
|
|
|
my %hint = (
|
|
columns => [
|
|
"hasnewbuilds",
|
|
"id"
|
|
],
|
|
relations => {
|
|
"builds" => "id"
|
|
},
|
|
eager_relations => {
|
|
# altnr? Does anyone care?
|
|
jobsetevalinputs => "name"
|
|
}
|
|
);
|
|
|
|
sub json_hint {
|
|
return \%hint;
|
|
}
|
|
|
|
1;
|