X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FDB%2FMetaSetup%2FPart.pm;h=b5e25772c42648e86932396d7189f1b1b7ca06cb;hb=377b705324a4c43ef21b838d4ea9d474132cf16f;hp=d6814e8d0716f78eecd26e9a8176f36728b0fb4a;hpb=6cf3f7762efd40bee49a2b8f11bb4ab6915d9071;p=kivitendo-erp.git diff --git a/SL/DB/MetaSetup/Part.pm b/SL/DB/MetaSetup/Part.pm index d6814e8d0..b5e25772c 100644 --- a/SL/DB/MetaSetup/Part.pm +++ b/SL/DB/MetaSetup/Part.pm @@ -6,60 +6,91 @@ use strict; use base qw(SL::DB::Object); -__PACKAGE__->meta->setup( - table => 'parts', +__PACKAGE__->meta->table('parts'); - columns => [ - id => { type => 'integer', not_null => 1, sequence => 'id' }, - partnumber => { type => 'text', not_null => 1 }, - description => { type => 'text' }, - listprice => { type => 'numeric', precision => 5, scale => 15 }, - sellprice => { type => 'numeric', precision => 5, scale => 15 }, - lastcost => { type => 'numeric', precision => 5, scale => 15 }, - priceupdate => { type => 'date', default => 'now' }, - weight => { type => 'float', precision => 4 }, - notes => { type => 'text' }, - makemodel => { type => 'boolean', default => 'false' }, - assembly => { type => 'boolean', default => 'false' }, - alternate => { type => 'boolean', default => 'false' }, - rop => { type => 'float', precision => 4 }, - inventory_accno_id => { type => 'integer' }, - income_accno_id => { type => 'integer' }, - expense_accno_id => { type => 'integer' }, - bin => { type => 'text' }, - shop => { type => 'boolean', default => 'false' }, - obsolete => { type => 'boolean', default => 'false' }, - bom => { type => 'boolean', default => 'false' }, - image => { type => 'text' }, - drawing => { type => 'text' }, - microfiche => { type => 'text' }, - partsgroup_id => { type => 'integer' }, - ve => { type => 'integer' }, - gv => { type => 'numeric', precision => 5, scale => 15 }, - itime => { type => 'timestamp', default => 'now()' }, - mtime => { type => 'timestamp' }, - unit => { type => 'varchar', length => 20, not_null => 1 }, - formel => { type => 'text' }, - not_discountable => { type => 'boolean', default => 'false' }, - buchungsgruppen_id => { type => 'integer' }, - payment_id => { type => 'integer' }, - ean => { type => 'text' }, - price_factor_id => { type => 'integer' }, - onhand => { type => 'numeric', default => '0', precision => 5, scale => 25 }, - stockable => { type => 'boolean', default => 'false' }, - has_sernumber => { type => 'boolean', default => 'false' }, - ], +__PACKAGE__->meta->columns( + alternate => { type => 'boolean', default => 'false' }, + assembly => { type => 'boolean', default => 'false' }, + bin_id => { type => 'integer' }, + bom => { type => 'boolean', default => 'false' }, + buchungsgruppen_id => { type => 'integer' }, + description => { type => 'text' }, + drawing => { type => 'text' }, + ean => { type => 'text' }, + expense_accno_id => { type => 'integer' }, + formel => { type => 'text' }, + gv => { type => 'numeric', precision => 5, scale => 15 }, + has_sernumber => { type => 'boolean', default => 'false' }, + id => { type => 'integer', not_null => 1, sequence => 'id' }, + image => { type => 'text' }, + income_accno_id => { type => 'integer' }, + inventory_accno_id => { type => 'integer' }, + itime => { type => 'timestamp', default => 'now()' }, + lastcost => { type => 'numeric', precision => 5, scale => 15 }, + listprice => { type => 'numeric', precision => 5, scale => 15 }, + makemodel => { type => 'boolean', default => 'false' }, + microfiche => { type => 'text' }, + mtime => { type => 'timestamp' }, + not_discountable => { type => 'boolean', default => 'false' }, + notes => { type => 'text' }, + obsolete => { type => 'boolean', default => 'false' }, + onhand => { type => 'numeric', default => '0', precision => 5, scale => 25 }, + partnumber => { type => 'text', not_null => 1 }, + partsgroup_id => { type => 'integer' }, + payment_id => { type => 'integer' }, + price_factor_id => { type => 'integer' }, + priceupdate => { type => 'date', default => 'now' }, + rop => { type => 'float', precision => 4 }, + sellprice => { type => 'numeric', precision => 5, scale => 15 }, + shop => { type => 'boolean', default => 'false' }, + stockable => { type => 'boolean', default => 'false' }, + unit => { type => 'varchar', length => 20, not_null => 1 }, + ve => { type => 'integer' }, + warehouse_id => { type => 'integer' }, + weight => { type => 'float', precision => 4 }, +); + +__PACKAGE__->meta->primary_key_columns([ 'id' ]); + +__PACKAGE__->meta->unique_keys([ 'partnumber' ]); + +__PACKAGE__->meta->allow_inline_column_values(1); + +__PACKAGE__->meta->foreign_keys( + bin => { + class => 'SL::DB::Bin', + key_columns => { bin_id => 'id' }, + }, + + buchungsgruppen => { + class => 'SL::DB::Buchungsgruppe', + key_columns => { buchungsgruppen_id => 'id' }, + }, + + partsgroup => { + class => 'SL::DB::PartsGroup', + key_columns => { partsgroup_id => 'id' }, + }, + + payment => { + class => 'SL::DB::PaymentTerm', + key_columns => { payment_id => 'id' }, + }, - primary_key_columns => [ 'id' ], + price_factor => { + class => 'SL::DB::PriceFactor', + key_columns => { price_factor_id => 'id' }, + }, - allow_inline_column_values => 1, + unit_obj => { + class => 'SL::DB::Unit', + key_columns => { unit => 'name' }, + }, - foreign_keys => [ - buchungsgruppen => { - class => 'SL::DB::Buchungsgruppe', - key_columns => { buchungsgruppen_id => 'id' }, - }, - ], + warehouse => { + class => 'SL::DB::Warehouse', + key_columns => { warehouse_id => 'id' }, + }, ); 1;