forked from lix-project/hydra
c2f932a7e3
Lowercasing is due to postgresql not having case-sensitive table names. It always technically workde before, but those table names never existed literally. The switch to generating from postgresql is to handle an upcoming addition of an auto-incrementign ID to the Jobset table. Sqlite doesn't seem to be able to handle the table having an auto incrementing ID field which isn't the primary key, but we can't change the primary key trivially. Since hydra doesn't support sqlite and hasn't for many year anyway, it is easier to just generate from pgsql directly.
187 lines
2.9 KiB
Perl
187 lines
2.9 KiB
Perl
use utf8;
|
|
package Hydra::Schema::BuildMetrics;
|
|
|
|
# Created by DBIx::Class::Schema::Loader
|
|
# DO NOT MODIFY THE FIRST PART OF THIS FILE
|
|
|
|
=head1 NAME
|
|
|
|
Hydra::Schema::BuildMetrics
|
|
|
|
=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<buildmetrics>
|
|
|
|
=cut
|
|
|
|
__PACKAGE__->table("buildmetrics");
|
|
|
|
=head1 ACCESSORS
|
|
|
|
=head2 build
|
|
|
|
data_type: 'integer'
|
|
is_foreign_key: 1
|
|
is_nullable: 0
|
|
|
|
=head2 name
|
|
|
|
data_type: 'text'
|
|
is_nullable: 0
|
|
|
|
=head2 unit
|
|
|
|
data_type: 'text'
|
|
is_nullable: 1
|
|
|
|
=head2 value
|
|
|
|
data_type: 'double precision'
|
|
is_nullable: 0
|
|
|
|
=head2 project
|
|
|
|
data_type: 'text'
|
|
is_foreign_key: 1
|
|
is_nullable: 0
|
|
|
|
=head2 jobset
|
|
|
|
data_type: 'text'
|
|
is_foreign_key: 1
|
|
is_nullable: 0
|
|
|
|
=head2 job
|
|
|
|
data_type: 'text'
|
|
is_foreign_key: 1
|
|
is_nullable: 0
|
|
|
|
=head2 timestamp
|
|
|
|
data_type: 'integer'
|
|
is_nullable: 0
|
|
|
|
=cut
|
|
|
|
__PACKAGE__->add_columns(
|
|
"build",
|
|
{ data_type => "integer", is_foreign_key => 1, is_nullable => 0 },
|
|
"name",
|
|
{ data_type => "text", is_nullable => 0 },
|
|
"unit",
|
|
{ data_type => "text", is_nullable => 1 },
|
|
"value",
|
|
{ data_type => "double precision", is_nullable => 0 },
|
|
"project",
|
|
{ data_type => "text", is_foreign_key => 1, is_nullable => 0 },
|
|
"jobset",
|
|
{ data_type => "text", is_foreign_key => 1, is_nullable => 0 },
|
|
"job",
|
|
{ data_type => "text", is_foreign_key => 1, is_nullable => 0 },
|
|
"timestamp",
|
|
{ data_type => "integer", is_nullable => 0 },
|
|
);
|
|
|
|
=head1 PRIMARY KEY
|
|
|
|
=over 4
|
|
|
|
=item * L</build>
|
|
|
|
=item * L</name>
|
|
|
|
=back
|
|
|
|
=cut
|
|
|
|
__PACKAGE__->set_primary_key("build", "name");
|
|
|
|
=head1 RELATIONS
|
|
|
|
=head2 build
|
|
|
|
Type: belongs_to
|
|
|
|
Related object: L<Hydra::Schema::Builds>
|
|
|
|
=cut
|
|
|
|
__PACKAGE__->belongs_to(
|
|
"build",
|
|
"Hydra::Schema::Builds",
|
|
{ id => "build" },
|
|
{ is_deferrable => 0, on_delete => "CASCADE", on_update => "NO ACTION" },
|
|
);
|
|
|
|
=head2 job
|
|
|
|
Type: belongs_to
|
|
|
|
Related object: L<Hydra::Schema::Jobs>
|
|
|
|
=cut
|
|
|
|
__PACKAGE__->belongs_to(
|
|
"job",
|
|
"Hydra::Schema::Jobs",
|
|
{ jobset => "jobset", name => "job", project => "project" },
|
|
{ is_deferrable => 0, on_delete => "NO ACTION", on_update => "CASCADE" },
|
|
);
|
|
|
|
=head2 jobset
|
|
|
|
Type: belongs_to
|
|
|
|
Related object: L<Hydra::Schema::Jobsets>
|
|
|
|
=cut
|
|
|
|
__PACKAGE__->belongs_to(
|
|
"jobset",
|
|
"Hydra::Schema::Jobsets",
|
|
{ name => "jobset", project => "project" },
|
|
{ is_deferrable => 0, on_delete => "NO ACTION", on_update => "CASCADE" },
|
|
);
|
|
|
|
=head2 project
|
|
|
|
Type: belongs_to
|
|
|
|
Related object: L<Hydra::Schema::Projects>
|
|
|
|
=cut
|
|
|
|
__PACKAGE__->belongs_to(
|
|
"project",
|
|
"Hydra::Schema::Projects",
|
|
{ name => "project" },
|
|
{ is_deferrable => 0, on_delete => "NO ACTION", on_update => "CASCADE" },
|
|
);
|
|
|
|
|
|
# Created by DBIx::Class::Schema::Loader v0.07049 @ 2020-02-06 12:22:36
|
|
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:Roy7h/K9u7DQOzet4B1sbA
|
|
|
|
sub json_hint {
|
|
return { columns => ['value', 'unit'] };
|
|
}
|
|
|
|
1;
|