use strict;
-use base qw(SL::DB::Object);
+use parent qw(SL::DB::Object);
+
+__PACKAGE__->meta->table('project');
+
+__PACKAGE__->meta->columns(
+ active => { type => 'boolean', default => 'true' },
+ billable_customer_id => { type => 'integer' },
+ budget_cost => { type => 'numeric', default => '0', not_null => 1, precision => 15, scale => 5 },
+ budget_minutes => { type => 'integer', default => '0', not_null => 1 },
+ customer_id => { type => 'integer' },
+ description => { type => 'text' },
+ end_date => { type => 'date' },
+ id => { type => 'integer', not_null => 1, sequence => 'id' },
+ itime => { type => 'timestamp', default => 'now()' },
+ mtime => { type => 'timestamp' },
+ order_value => { type => 'numeric', default => '0', not_null => 1, precision => 15, scale => 5 },
+ project_status_id => { type => 'integer', not_null => 1 },
+ project_type_id => { type => 'integer', not_null => 1 },
+ projectnumber => { type => 'text' },
+ start_date => { type => 'date' },
+ timeframe => { type => 'boolean', default => 'false', not_null => 1 },
+ valid => { type => 'boolean', default => 'true' },
+);
+
+__PACKAGE__->meta->primary_key_columns([ 'id' ]);
+
+__PACKAGE__->meta->unique_keys([ 'projectnumber' ]);
-__PACKAGE__->meta->setup(
- table => 'project',
+__PACKAGE__->meta->allow_inline_column_values(1);
- columns => [
- id => { type => 'integer', not_null => 1, sequence => 'id' },
- projectnumber => { type => 'text' },
- description => { type => 'text' },
- itime => { type => 'timestamp', default => 'now()' },
- mtime => { type => 'timestamp' },
- active => { type => 'boolean', default => 'true' },
- ],
+__PACKAGE__->meta->foreign_keys(
+ billable_customer => {
+ class => 'SL::DB::Customer',
+ key_columns => { billable_customer_id => 'id' },
+ },
- primary_key_columns => [ 'id' ],
+ customer => {
+ class => 'SL::DB::Customer',
+ key_columns => { customer_id => 'id' },
+ },
- unique_key => [ 'projectnumber' ],
+ project_status => {
+ class => 'SL::DB::ProjectStatus',
+ key_columns => { project_status_id => 'id' },
+ },
- allow_inline_column_values => 1,
+ project_type => {
+ class => 'SL::DB::ProjectType',
+ key_columns => { project_type_id => 'id' },
+ },
);
1;