1 # This file has been auto-generated. Do not modify it; it will be overwritten
 
   2 # by rose_auto_create_model.pl automatically.
 
   7 use parent qw(SL::DB::Object);
 
   9 __PACKAGE__->meta->table('parts');
 
  11 __PACKAGE__->meta->columns(
 
  12   bin_id             => { type => 'integer' },
 
  13   bom                => { type => 'boolean', default => 'false' },
 
  14   buchungsgruppen_id => { type => 'integer' },
 
  15   description        => { type => 'text' },
 
  16   drawing            => { type => 'text' },
 
  17   ean                => { type => 'text' },
 
  18   expense_accno_id   => { type => 'integer' },
 
  19   formel             => { type => 'text' },
 
  20   gv                 => { type => 'numeric', precision => 15, scale => 5 },
 
  21   has_sernumber      => { type => 'boolean', default => 'false' },
 
  22   id                 => { type => 'integer', not_null => 1, sequence => 'id' },
 
  23   image              => { type => 'text' },
 
  24   income_accno_id    => { type => 'integer' },
 
  25   inventory_accno_id => { type => 'integer' },
 
  26   itime              => { type => 'timestamp', default => 'now()' },
 
  27   lastcost           => { type => 'numeric', precision => 15, scale => 5 },
 
  28   listprice          => { type => 'numeric', precision => 15, scale => 5 },
 
  29   makemodel          => { type => 'boolean', default => 'false' },
 
  30   microfiche         => { type => 'text' },
 
  31   mtime              => { type => 'timestamp' },
 
  32   not_discountable   => { type => 'boolean', default => 'false' },
 
  33   notes              => { type => 'text' },
 
  34   obsolete           => { type => 'boolean', default => 'false' },
 
  35   onhand             => { type => 'numeric', default => '0', precision => 25, scale => 5 },
 
  36   part_type          => { type => 'enum', check_in => [ 'part', 'service', 'assembly', 'assortment' ], db_type => 'part_type_enum', not_null => 1 },
 
  37   partnumber         => { type => 'text', not_null => 1 },
 
  38   partsgroup_id      => { type => 'integer' },
 
  39   payment_id         => { type => 'integer' },
 
  40   price_factor_id    => { type => 'integer' },
 
  41   priceupdate        => { type => 'date', default => 'now' },
 
  42   rop                => { type => 'float', scale => 4 },
 
  43   sellprice          => { type => 'numeric', precision => 15, scale => 5 },
 
  44   shop               => { type => 'boolean', default => 'false' },
 
  45   stockable          => { type => 'boolean', default => 'false' },
 
  46   unit               => { type => 'varchar', length => 20, not_null => 1 },
 
  47   ve                 => { type => 'integer' },
 
  48   warehouse_id       => { type => 'integer' },
 
  49   weight             => { type => 'float', scale => 4 },
 
  52 __PACKAGE__->meta->primary_key_columns([ 'id' ]);
 
  54 __PACKAGE__->meta->unique_keys([ 'partnumber' ]);
 
  56 __PACKAGE__->meta->allow_inline_column_values(1);
 
  58 __PACKAGE__->meta->foreign_keys(
 
  60     class       => 'SL::DB::Bin',
 
  61     key_columns => { bin_id => 'id' },
 
  65     class       => 'SL::DB::Buchungsgruppe',
 
  66     key_columns => { buchungsgruppen_id => 'id' },
 
  70     class       => 'SL::DB::Chart',
 
  71     key_columns => { expense_accno_id => 'id' },
 
  75     class       => 'SL::DB::Chart',
 
  76     key_columns => { income_accno_id => 'id' },
 
  79   inventory_account => {
 
  80     class       => 'SL::DB::Chart',
 
  81     key_columns => { inventory_accno_id => 'id' },
 
  85     class       => 'SL::DB::PartsGroup',
 
  86     key_columns => { partsgroup_id => 'id' },
 
  90     class       => 'SL::DB::PaymentTerm',
 
  91     key_columns => { payment_id => 'id' },
 
  95     class       => 'SL::DB::PriceFactor',
 
  96     key_columns => { price_factor_id => 'id' },
 
 100     class       => 'SL::DB::Unit',
 
 101     key_columns => { unit => 'name' },
 
 105     class       => 'SL::DB::Warehouse',
 
 106     key_columns => { warehouse_id => 'id' },