Merge branch 'b-3.6.1' of ../kivitendo-erp_20220811
[kivitendo-erp.git] / sql / Pg-upgrade2 / shopimages.sql
diff --git a/sql/Pg-upgrade2/shopimages.sql b/sql/Pg-upgrade2/shopimages.sql
new file mode 100644 (file)
index 0000000..767429e
--- /dev/null
@@ -0,0 +1,33 @@
+-- @tag:shopimages
+-- @description: Tabelle für Shopbilder und zusätzliche Konfiguration und valid_type für Filemanagement
+-- @depends: release_3_5_0 files shop_parts
+-- @ignore: 0
+
+CREATE TABLE shop_images(
+  id                      SERIAL PRIMARY KEY,
+  file_id                 INTEGER REFERENCES files(id) ON DELETE CASCADE,
+  position                INTEGER,
+  thumbnail_content       BYTEA,
+  thumbnail_width         INTEGER,
+  thumbnail_height        INTEGER,
+  thumbnail_content_type  TEXT,
+  itime                   TIMESTAMP DEFAULT now(),
+  mtime                   TIMESTAMP
+);
+
+CREATE TRIGGER mtime_shop_images BEFORE UPDATE ON shop_images FOR EACH ROW EXECUTE PROCEDURE set_mtime();
+
+ALTER TABLE defaults ADD COLUMN doc_storage_for_shopimages      text default 'Filesystem';
+
+ALTER TABLE files
+  DROP CONSTRAINT valid_type;
+ALTER TABLE files
+  ADD  CONSTRAINT valid_type CHECK (
+             (object_type = 'credit_note'     ) OR (object_type = 'invoice'                 ) OR (object_type = 'sales_order'       )
+          OR (object_type = 'sales_quotation' ) OR (object_type = 'sales_delivery_order'    ) OR (object_type = 'request_quotation' )
+          OR (object_type = 'purchase_order'  ) OR (object_type = 'purchase_delivery_order' ) OR (object_type = 'purchase_invoice'  )
+          OR (object_type = 'vendor'          ) OR (object_type = 'customer'                ) OR (object_type = 'part'              )
+          OR (object_type = 'gl_transaction'  ) OR (object_type = 'dunning'                 ) OR (object_type = 'dunning1'          )
+          OR (object_type = 'dunning2'        ) OR (object_type = 'dunning3'                ) OR (object_type = 'draft'             )
+          OR (object_type = 'statement'       ) OR (object_type = 'shop_image'              )
+  );