Erzeugnisfremdschlüssel auf Artikel
authorG. Richardson <information@kivitendo-premium.de>
Fri, 3 Jun 2016 20:07:46 +0000 (22:07 +0200)
committerG. Richardson <information@kivitendo-premium.de>
Thu, 28 Jul 2016 10:52:15 +0000 (12:52 +0200)
Tabelle assemblies mit parts verknüpfen

SL/DB/MetaSetup/Assembly.pm
sql/Pg-upgrade2/assembly_parts_foreign_key.sql [new file with mode: 0644]

index 5107340..373f54e 100644 (file)
@@ -14,7 +14,7 @@ __PACKAGE__->meta->columns(
   id          => { type => 'integer' },
   itime       => { type => 'timestamp', default => 'now()' },
   mtime       => { type => 'timestamp' },
-  parts_id    => { type => 'integer' },
+  parts_id    => { type => 'integer', not_null => 1 },
   qty         => { type => 'float', scale => 4 },
 );
 
@@ -22,5 +22,12 @@ __PACKAGE__->meta->primary_key_columns([ 'assembly_id' ]);
 
 __PACKAGE__->meta->allow_inline_column_values(1);
 
+__PACKAGE__->meta->foreign_keys(
+  parts => {
+    class       => 'SL::DB::Part',
+    key_columns => { parts_id => 'id' },
+  },
+);
+
 1;
 ;
diff --git a/sql/Pg-upgrade2/assembly_parts_foreign_key.sql b/sql/Pg-upgrade2/assembly_parts_foreign_key.sql
new file mode 100644 (file)
index 0000000..8b3d4b2
--- /dev/null
@@ -0,0 +1,7 @@
+-- @tag: assembly_parts_foreign_key
+-- @description: Erzeugniselement (assembly) erhält Fremdschlüssel auf parts + NOT NULL
+-- @depends: release_3_4_1
+-- @ignore: 0
+
+ALTER TABLE assembly ADD FOREIGN KEY (parts_id) REFERENCES parts(id);
+ALTER TABLE assembly ALTER COLUMN parts_id SET NOT NULL;