epic-s6ts
[kivitendo-erp.git] / sql / Pg-upgrade2 / files.sql
1 -- @tag: files
2 -- @description: Tabelle für Files
3 -- @depends: release_3_4_1
4 CREATE TABLE files(
5   id                          SERIAL PRIMARY KEY,
6   object_type                 TEXT NOT NULL,    -- Tabellenname des Moduls z.B. customer, parts ... Fremdschlüssel Zusammen mit object_id
7   object_id                   INTEGER NOT NULL, -- Fremdschlüssel auf die id der Tabelle aus Spalte object_type
8   file_name                   TEXT NOT NULL,
9   file_type                   TEXT NOT NULL,
10   mime_type                   TEXT NOT NULL,
11   source                      TEXT NOT NULL,
12   backend                     TEXT,
13   backend_data                TEXT,
14   title                       varchar(45),
15   description                 TEXT,
16   itime                       TIMESTAMP DEFAULT now(),
17   mtime                       TIMESTAMP,
18   CONSTRAINT valid_type CHECK (
19              (object_type = 'credit_note') OR (object_type = 'invoice') OR (object_type = 'sales_order') OR (object_type = 'sales_quotation')
20           OR (object_type = 'sales_delivery_order') OR (object_type = 'request_quotation') OR (object_type = 'purchase_order')
21           OR (object_type = 'purchase_delivery_order') OR (object_type = 'purchase_invoice')
22           OR (object_type = 'vendor') OR (object_type = 'customer') OR (object_type = 'part') OR (object_type = 'gl_transaction')
23           OR (object_type = 'dunning') OR (object_type = 'dunning1') OR (object_type = 'dunning2') OR (object_type = 'dunning3')
24           OR (object_type = 'draft') OR (object_type = 'statement'))
25 );