Merge branch 'b-3.6.1' of ../kivitendo-erp_20220811
[kivitendo-erp.git] / sql / Pg-upgrade2 / files.sql
diff --git a/sql/Pg-upgrade2/files.sql b/sql/Pg-upgrade2/files.sql
new file mode 100644 (file)
index 0000000..c5a9cf0
--- /dev/null
@@ -0,0 +1,25 @@
+-- @tag: files
+-- @description: Tabelle für Files
+-- @depends: release_3_4_1
+CREATE TABLE files(
+  id                          SERIAL PRIMARY KEY,
+  object_type                 TEXT NOT NULL,    -- Tabellenname des Moduls z.B. customer, parts ... Fremdschlüssel Zusammen mit object_id
+  object_id                   INTEGER NOT NULL, -- Fremdschlüssel auf die id der Tabelle aus Spalte object_type
+  file_name                   TEXT NOT NULL,
+  file_type                   TEXT NOT NULL,
+  mime_type                   TEXT NOT NULL,
+  source                      TEXT NOT NULL,
+  backend                     TEXT,
+  backend_data                TEXT,
+  title                       varchar(45),
+  description                 TEXT,
+  itime                       TIMESTAMP DEFAULT now(),
+  mtime                       TIMESTAMP,
+  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'))
+);