]> iEval git - gruntmaster-data.git/blame - lib/Gruntmaster/Data/Result/Problem.pm
From Redis to Postgres - Part 1
[gruntmaster-data.git] / lib / Gruntmaster / Data / Result / Problem.pm
CommitLineData
4ed3f8e7
MG
1use utf8;
2package Gruntmaster::Data::Result::Problem;
3
4# Created by DBIx::Class::Schema::Loader
5# DO NOT MODIFY THE FIRST PART OF THIS FILE
6
7=head1 NAME
8
9Gruntmaster::Data::Result::Problem
10
11=cut
12
13use strict;
14use warnings;
15
16use base 'DBIx::Class::Core';
17
18=head1 TABLE: C<problems>
19
20=cut
21
22__PACKAGE__->table("problems");
23
24=head1 ACCESSORS
25
26=head2 id
27
28 data_type: 'text'
29 is_nullable: 0
30
31=head2 author
32
33 data_type: 'text'
34 is_nullable: 0
35
36=head2 generator
37
38 data_type: 'enum'
39 extra: {custom_type_name => "generator",list => ["File","Run","Undef"]}
40 is_nullable: 0
41
42=head2 judge
43
44 data_type: 'enum'
45 extra: {custom_type_name => "judge",list => ["Absolute","Points"]}
46 is_nullable: 0
47
48=head2 level
49
50 data_type: 'enum'
51 extra: {custom_type_name => "plevel",list => ["beginner","easy","medium","hard"]}
52 is_nullable: 0
53
54=head2 name
55
56 data_type: 'text'
57 is_nullable: 0
58
59=head2 olimit
60
61 data_type: 'integer'
62 is_nullable: 1
63
64=head2 owner
65
66 data_type: 'text'
67 is_foreign_key: 1
68 is_nullable: 0
69
70=head2 private
71
72 data_type: 'boolean'
73 is_nullable: 0
74
75=head2 runner
76
77 data_type: 'enum'
78 extra: {custom_type_name => "runner",list => ["File","Verifier","Interactive"]}
79 is_nullable: 0
80
81=head2 statement
82
83 data_type: 'text'
84 is_nullable: 0
85
86=head2 testcnt
87
88 data_type: 'integer'
89 is_nullable: 0
90
91=head2 timeout
92
93 data_type: 'real'
94 is_nullable: 0
95
96=head2 value
97
98 data_type: 'integer'
99 is_nullable: 1
100
101=head2 verformat
102
103 data_type: 'text'
104 is_nullable: 1
105
106=head2 versource
107
108 data_type: 'text'
109 is_nullable: 1
110
111=cut
112
113__PACKAGE__->add_columns(
114 "id",
115 { data_type => "text", is_nullable => 0 },
116 "author",
117 { data_type => "text", is_nullable => 0 },
118 "generator",
119 {
120 data_type => "enum",
121 extra => { custom_type_name => "generator", list => ["File", "Run", "Undef"] },
122 is_nullable => 0,
123 },
124 "judge",
125 {
126 data_type => "enum",
127 extra => { custom_type_name => "judge", list => ["Absolute", "Points"] },
128 is_nullable => 0,
129 },
130 "level",
131 {
132 data_type => "enum",
133 extra => {
134 custom_type_name => "plevel",
135 list => ["beginner", "easy", "medium", "hard"],
136 },
137 is_nullable => 0,
138 },
139 "name",
140 { data_type => "text", is_nullable => 0 },
141 "olimit",
142 { data_type => "integer", is_nullable => 1 },
143 "owner",
144 { data_type => "text", is_foreign_key => 1, is_nullable => 0 },
145 "private",
146 { data_type => "boolean", is_nullable => 0 },
147 "runner",
148 {
149 data_type => "enum",
150 extra => {
151 custom_type_name => "runner",
152 list => ["File", "Verifier", "Interactive"],
153 },
154 is_nullable => 0,
155 },
156 "statement",
157 { data_type => "text", is_nullable => 0 },
158 "testcnt",
159 { data_type => "integer", is_nullable => 0 },
160 "timeout",
161 { data_type => "real", is_nullable => 0 },
162 "value",
163 { data_type => "integer", is_nullable => 1 },
164 "verformat",
165 { data_type => "text", is_nullable => 1 },
166 "versource",
167 { data_type => "text", is_nullable => 1 },
168);
169
170=head1 PRIMARY KEY
171
172=over 4
173
174=item * L</id>
175
176=back
177
178=cut
179
180__PACKAGE__->set_primary_key("id");
181
182=head1 RELATIONS
183
184=head2 contest_problems
185
186Type: has_many
187
188Related object: L<Gruntmaster::Data::Result::ContestProblem>
189
190=cut
191
192__PACKAGE__->has_many(
193 "contest_problems",
194 "Gruntmaster::Data::Result::ContestProblem",
195 { "foreign.problem" => "self.id" },
196 { cascade_copy => 0, cascade_delete => 0 },
197);
198
199=head2 jobs
200
201Type: has_many
202
203Related object: L<Gruntmaster::Data::Result::Job>
204
205=cut
206
207__PACKAGE__->has_many(
208 "jobs",
209 "Gruntmaster::Data::Result::Job",
210 { "foreign.problem" => "self.id" },
211 { cascade_copy => 0, cascade_delete => 0 },
212);
213
214=head2 opens
215
216Type: has_many
217
218Related object: L<Gruntmaster::Data::Result::Open>
219
220=cut
221
222__PACKAGE__->has_many(
223 "opens",
224 "Gruntmaster::Data::Result::Open",
225 { "foreign.problem" => "self.id" },
226 { cascade_copy => 0, cascade_delete => 0 },
227);
228
229=head2 owner
230
231Type: belongs_to
232
233Related object: L<Gruntmaster::Data::Result::User>
234
235=cut
236
237__PACKAGE__->belongs_to(
238 "owner",
239 "Gruntmaster::Data::Result::User",
240 { id => "owner" },
241 { is_deferrable => 0, on_delete => "NO ACTION", on_update => "NO ACTION" },
242);
243
244=head2 contests
245
246Type: many_to_many
247
248Composing rels: L</contest_problems> -> contest
249
250=cut
251
252__PACKAGE__->many_to_many("contests", "contest_problems", "contest");
253
254
255# Created by DBIx::Class::Schema::Loader v0.07039 @ 2014-03-06 12:41:16
256# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:y1LUGcxNJxUMgMXqvAkKYQ
257
258
259# You can replace this text with custom code or comments, and it will be preserved on regeneration
2601;
This page took 0.037222 seconds and 4 git commands to generate.