X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FDB%2FMetaSetup%2FProject.pm;h=f651042a575a918f0dd0bdc72404dbe97c459e06;hb=356fec7ed87236e0b68c0ef45fe5f99c8b1f5038;hp=6b3ab91051c625c8baa1378443a3e7276617f6fa;hpb=82515b2d93dc5632f24d6e0b6f8f05f3fd19fbb0;p=kivitendo-erp.git diff --git a/SL/DB/MetaSetup/Project.pm b/SL/DB/MetaSetup/Project.pm index 6b3ab9105..f651042a5 100644 --- a/SL/DB/MetaSetup/Project.pm +++ b/SL/DB/MetaSetup/Project.pm @@ -4,25 +4,56 @@ package SL::DB::Project; 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;