hydra/src/lib/Hydra/Schema/Projects.pm
Eelco Dolstra 7daca03e78 * Store jobset evaluations in the database explicitly. This includes
recording the builds that are part of a jobset evaluation.  We need
  this to be able to answer queries such as "return the latest NixOS
  ISO for which the installation test succeeded".  This wasn't previously
  possible because the database didn't record which builds of (say)
  the `isoMinimal' job and the `tests.installer.simple' job came from
  the same evaluation of the nixos:trunk jobset.

  Keeping a record of evaluations is also useful for logging purposes.
2010-03-05 15:41:10 +00:00

238 lines
3.4 KiB
Perl

package Hydra::Schema::Projects;
# Created by DBIx::Class::Schema::Loader
# DO NOT MODIFY THE FIRST PART OF THIS FILE
use strict;
use warnings;
use base 'DBIx::Class::Core';
=head1 NAME
Hydra::Schema::Projects
=cut
__PACKAGE__->table("Projects");
=head1 ACCESSORS
=head2 name
data_type: text
default_value: undef
is_nullable: 0
size: undef
=head2 displayname
data_type: text
default_value: undef
is_nullable: 0
size: undef
=head2 description
data_type: text
default_value: undef
is_nullable: 1
size: undef
=head2 enabled
data_type: integer
default_value: 1
is_nullable: 0
size: undef
=head2 owner
data_type: text
default_value: undef
is_foreign_key: 1
is_nullable: 0
size: undef
=head2 homepage
data_type: text
default_value: undef
is_nullable: 1
size: undef
=cut
__PACKAGE__->add_columns(
"name",
{
data_type => "text",
default_value => undef,
is_nullable => 0,
size => undef,
},
"displayname",
{
data_type => "text",
default_value => undef,
is_nullable => 0,
size => undef,
},
"description",
{
data_type => "text",
default_value => undef,
is_nullable => 1,
size => undef,
},
"enabled",
{ data_type => "integer", default_value => 1, is_nullable => 0, size => undef },
"owner",
{
data_type => "text",
default_value => undef,
is_foreign_key => 1,
is_nullable => 0,
size => undef,
},
"homepage",
{
data_type => "text",
default_value => undef,
is_nullable => 1,
size => undef,
},
);
__PACKAGE__->set_primary_key("name");
=head1 RELATIONS
=head2 owner
Type: belongs_to
Related object: L<Hydra::Schema::Users>
=cut
__PACKAGE__->belongs_to("owner", "Hydra::Schema::Users", { username => "owner" }, {});
=head2 jobsets
Type: has_many
Related object: L<Hydra::Schema::Jobsets>
=cut
__PACKAGE__->has_many(
"jobsets",
"Hydra::Schema::Jobsets",
{ "foreign.project" => "self.name" },
);
=head2 jobs
Type: has_many
Related object: L<Hydra::Schema::Jobs>
=cut
__PACKAGE__->has_many(
"jobs",
"Hydra::Schema::Jobs",
{ "foreign.project" => "self.name" },
);
=head2 builds
Type: has_many
Related object: L<Hydra::Schema::Builds>
=cut
__PACKAGE__->has_many(
"builds",
"Hydra::Schema::Builds",
{ "foreign.project" => "self.name" },
);
=head2 views
Type: has_many
Related object: L<Hydra::Schema::Views>
=cut
__PACKAGE__->has_many(
"views",
"Hydra::Schema::Views",
{ "foreign.project" => "self.name" },
);
=head2 viewjobs
Type: has_many
Related object: L<Hydra::Schema::ViewJobs>
=cut
__PACKAGE__->has_many(
"viewjobs",
"Hydra::Schema::ViewJobs",
{ "foreign.project" => "self.name" },
);
=head2 releases
Type: has_many
Related object: L<Hydra::Schema::Releases>
=cut
__PACKAGE__->has_many(
"releases",
"Hydra::Schema::Releases",
{ "foreign.project" => "self.name" },
);
=head2 releasemembers
Type: has_many
Related object: L<Hydra::Schema::ReleaseMembers>
=cut
__PACKAGE__->has_many(
"releasemembers",
"Hydra::Schema::ReleaseMembers",
{ "foreign.project" => "self.name" },
);
=head2 jobsetevals
Type: has_many
Related object: L<Hydra::Schema::JobsetEvals>
=cut
__PACKAGE__->has_many(
"jobsetevals",
"Hydra::Schema::JobsetEvals",
{ "foreign.project" => "self.name" },
);
# Created by DBIx::Class::Schema::Loader v0.05000 @ 2010-03-05 13:07:45
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:SXJ+FzgNDad87OKSBH2qrg
1;