HSAdmin Backend Domains, E-Mail, Datenbanken
peter
2013-04-23 dce141f1f23f9694f0094572eb06535991afcf8f
hsarback/database/schema.sql
@@ -5,14 +5,13 @@
CREATE TABLE bank_account (
    bank_account_id integer DEFAULT nextval(('"bank_account_bank_account_id_seq"'::text)::regclass) NOT NULL,
    bp_id integer NOT NULL,
    autodebit_ga boolean,
    autodebit_ar boolean,
    autodebit_op boolean,
    bank_customer character varying(50),
    bank_account character varying(10),
    bank_code character varying(8),
    bank_name character varying(50),
    CONSTRAINT ckt_bank_account CHECK (((((((bank_customer IS NOT NULL) AND (bank_account IS NOT NULL)) AND (bank_code IS NOT NULL)) AND (bank_name IS NOT NULL)) AND (((autodebit_ga = true) OR (autodebit_ar = true)) OR (autodebit_op = true))) OR (((autodebit_ga = false) AND (autodebit_ar = false)) AND (autodebit_op = false))))
    autodebit_ga boolean NOT NULL DEFAULT false,
    autodebit_ar boolean NOT NULL DEFAULT false,
    autodebit_op boolean NOT NULL DEFAULT false,
    bank_customer character varying(50) NOT NULL DEFAULT '',
    bank_account character varying(10) NOT NULL DEFAULT '',
    bank_code character varying(8) NOT NULL DEFAULT '',
    bank_name character varying(50) NOT NULL DEFAULT ''
);
@@ -59,6 +58,7 @@
    basepacket_id integer DEFAULT nextval(('"basepacket_basepacket_id_seq"'::text)::regclass) NOT NULL,
    basepacket_code character varying(10) NOT NULL,
    description character varying(100) NOT NULL,
    article_number integer NOT NULL,
    sorting integer NOT NULL,
    valid boolean NOT NULL
);
@@ -122,7 +122,8 @@
    uid_vat character varying(20),
    CONSTRAINT ckc_member_id_business CHECK (((member_id >= 10000) AND (member_id <= 99999))),
    CONSTRAINT ckc_shares_signed_business CHECK ((shares_signed >= 0)),
    CONSTRAINT ckt_business_partner CHECK ( ( ((member_since IS NULL) AND (member_until IS NULL)) OR ((member_since IS NOT NULL) AND (member_until IS NULL)) OR ((member_since IS NOT NULL) AND (member_until IS NOT NULL) AND (member_since < member_until)) ) AND ((member_code)::text ~~ 'hsh00-%'::text))
    CONSTRAINT ckt_business_partner CHECK ( ( ((member_since IS NULL) AND (member_until IS NULL)) OR ((member_since IS NOT NULL) AND (member_until IS NULL)) OR ((member_since IS NOT NULL) AND (member_until IS NOT NULL) AND (member_since < member_until)) ) AND ((member_code)::text ~~ 'hsh00-%'::text)),
    UNIQUE (bp_id)
);
@@ -144,13 +145,22 @@
CREATE TABLE component (
    basepacket_id integer NOT NULL,
    basecomponent_id integer NOT NULL,
    article_number integer NOT NULL,
    min_quantity integer NOT NULL,
    max_quantity integer NOT NULL,
    default_quantity integer NOT NULL,
    increment_quantity integer NOT NULL,
    include_quantity integer NOT NULL,
    admin_only boolean NOT NULL,
    CONSTRAINT ckt_component CHECK (((((((((min_quantity <= max_quantity) AND (min_quantity <= default_quantity)) AND (default_quantity <= max_quantity)) AND (min_quantity <= include_quantity)) AND (include_quantity <= max_quantity)) AND (mod(max_quantity, increment_quantity) = 0)) AND (mod(default_quantity, increment_quantity) = 0)) AND (mod(include_quantity, increment_quantity) = 0)))
    CONSTRAINT ckt_component CHECK (
       (min_quantity <= max_quantity) AND
       (min_quantity <= default_quantity) AND
       (default_quantity <= max_quantity) AND
       (include_quantity <= max_quantity) AND
       (mod(max_quantity, increment_quantity) = 0) AND
       (mod(default_quantity, increment_quantity) = 0) AND
       (mod(include_quantity, increment_quantity) = 0)
    )
);
@@ -192,6 +202,38 @@
--
-- Name: price_list
--
CREATE TABLE price_list (
    id serial primary key,
    name character varying(20)
);
--
-- Name: customer_price_list_mapping
--
CREATE TABLE customer_price_list_mapping (
    customer integer references business_partner(bp_id),
    price_list integer references price_list(id)
);
--
-- Name: price
--
CREATE TABLE price (
    id serial primary key,
    article_number integer NOT NULL,
    price decimal(10, 2) NOT NULL,
    vat decimal(4,2) NOT NULL,
    price_list integer references price_list(id)
);
--
-- Name: database_database_id_seq; Type: SEQUENCE; Schema: public; Owner: -
--
@@ -201,8 +243,6 @@
    NO MINVALUE
    CACHE 1;
SET default_with_oids = false;
--
-- Name: database; Type: TABLE; Schema: public; Owner: -; Tablespace: 
@@ -900,6 +940,10 @@
ALTER TABLE ONLY queue_task
    ADD CONSTRAINT queue_task_user_id_fkey FOREIGN KEY (user_id) REFERENCES unixuser(unixuser_id) ON DELETE SET NULL;
--
-- domain options
--
CREATE SEQUENCE domain_option_id_seq
    INCREMENT BY 1
    NO MAXVALUE