X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FDB%2FMetaSetup%2FProject.pm;h=f651042a575a918f0dd0bdc72404dbe97c459e06;hb=3f90c9cac7fea1568957718eba46dfe5f9a621ce;hp=a492b46ca405fcbb5f7134022bd553558f6e513f;hpb=5c5c1eef2ef26aa166f612d0718770488809b74b;p=kivitendo-erp.git diff --git a/SL/DB/MetaSetup/Project.pm b/SL/DB/MetaSetup/Project.pm index a492b46ca..f651042a5 100644 --- a/SL/DB/MetaSetup/Project.pm +++ b/SL/DB/MetaSetup/Project.pm @@ -4,35 +4,56 @@ package SL::DB::Project; use strict; -use base qw(SL::DB::Object); - -__PACKAGE__->meta->setup( - table => 'project', - - 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' }, - customer_id => { type => 'integer' }, - type => { type => 'text' }, - valid => { type => 'boolean', default => 'true' }, - ], - - primary_key_columns => [ 'id' ], - - unique_key => [ 'projectnumber' ], - - allow_inline_column_values => 1, - - foreign_keys => [ - customer => { - class => 'SL::DB::Customer', - key_columns => { customer_id => 'id' }, - }, - ], +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->allow_inline_column_values(1); + +__PACKAGE__->meta->foreign_keys( + billable_customer => { + class => 'SL::DB::Customer', + key_columns => { billable_customer_id => 'id' }, + }, + + customer => { + class => 'SL::DB::Customer', + key_columns => { customer_id => 'id' }, + }, + + project_status => { + class => 'SL::DB::ProjectStatus', + key_columns => { project_status_id => 'id' }, + }, + + project_type => { + class => 'SL::DB::ProjectType', + key_columns => { project_type_id => 'id' }, + }, ); 1;