Merge branch 'b-3.6.1' of ../kivitendo-erp_20220811
[kivitendo-erp.git] / SL / DB / MetaSetup / Vendor.pm
index 0493aa3..a457802 100644 (file)
@@ -4,56 +4,57 @@ package SL::DB::Vendor;
 
 use strict;
 
-use base qw(SL::DB::Object);
+use parent qw(SL::DB::Object);
 
 __PACKAGE__->meta->table('vendor');
 
 __PACKAGE__->meta->columns(
-  account_number   => { type => 'varchar', length => 15 },
+  account_number   => { type => 'text' },
   bank             => { type => 'text' },
-  bank_code        => { type => 'varchar', length => 10 },
+  bank_code        => { type => 'text' },
   bcc              => { type => 'text' },
-  bic              => { type => 'varchar', length => 100 },
+  bic              => { type => 'text' },
   business_id      => { type => 'integer' },
   cc               => { type => 'text' },
-  city             => { type => 'varchar', length => 75 },
-  contact          => { type => 'varchar', length => 75 },
-  country          => { type => 'varchar', length => 75 },
-  creditlimit      => { type => 'numeric', precision => 5, scale => 15 },
+  city             => { type => 'text' },
+  contact          => { type => 'text' },
+  country          => { type => 'text' },
+  creditlimit      => { type => 'numeric', precision => 15, scale => 5 },
   currency_id      => { type => 'integer', not_null => 1 },
   delivery_term_id => { type => 'integer' },
-  department_1     => { type => 'varchar', length => 75 },
-  department_2     => { type => 'varchar', length => 75 },
+  department_1     => { type => 'text' },
+  department_2     => { type => 'text' },
   depositor        => { type => 'text' },
   direct_debit     => { type => 'boolean', default => 'false' },
-  discount         => { type => 'float', precision => 4 },
+  discount         => { type => 'float', precision => 4, scale => 4 },
   email            => { type => 'text' },
-  fax              => { type => 'varchar', length => 30 },
+  fax              => { type => 'text' },
+  gln              => { type => 'text' },
   greeting         => { type => 'text' },
   homepage         => { type => 'text' },
-  iban             => { type => 'varchar', length => 100 },
+  iban             => { type => 'text' },
   id               => { type => 'integer', not_null => 1, sequence => 'id' },
   itime            => { type => 'timestamp', default => 'now()' },
-  language         => { type => 'varchar', length => 5 },
+  language         => { type => 'text' },
   language_id      => { type => 'integer' },
   mtime            => { type => 'timestamp' },
-  name             => { type => 'varchar', length => 75, not_null => 1 },
+  name             => { type => 'text', not_null => 1 },
+  natural_person   => { type => 'boolean', default => 'false' },
   notes            => { type => 'text' },
   obsolete         => { type => 'boolean', default => 'false' },
   payment_id       => { type => 'integer' },
   phone            => { type => 'text' },
   salesman_id      => { type => 'integer' },
-  street           => { type => 'varchar', length => 75 },
+  street           => { type => 'text' },
   taxincluded      => { type => 'boolean' },
   taxnumber        => { type => 'text' },
-  taxzone_id       => { type => 'integer', default => '0', not_null => 1 },
-  terms            => { type => 'integer', default => '0' },
-  user_password    => { type => 'varchar', length => 12 },
-  username         => { type => 'varchar', length => 50 },
-  ustid            => { type => 'varchar', length => 14 },
+  taxzone_id       => { type => 'integer', not_null => 1 },
+  user_password    => { type => 'text' },
+  username         => { type => 'text' },
+  ustid            => { type => 'text' },
   v_customer_id    => { type => 'text' },
   vendornumber     => { type => 'text' },
-  zipcode          => { type => 'varchar', length => 10 },
+  zipcode          => { type => 'text' },
 );
 
 __PACKAGE__->meta->primary_key_columns([ 'id' ]);
@@ -85,6 +86,11 @@ __PACKAGE__->meta->foreign_keys(
     class       => 'SL::DB::PaymentTerm',
     key_columns => { payment_id => 'id' },
   },
+
+  taxzone => {
+    class       => 'SL::DB::TaxZone',
+    key_columns => { taxzone_id => 'id' },
+  },
 );
 
 1;