HSAdmin Backend Domains, E-Mail, Datenbanken
Peter Hormanns
2014-03-21 ff75a342e83f0c2fb3f3678765bf694416c3e73a
hsarback/database/schema.sql
@@ -5,13 +5,16 @@
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 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 ''
    autodebit_ga boolean NOT NULL,
    autodebit_ar boolean NOT NULL,
    autodebit_op boolean NOT NULL,
    bank_customer character varying(50),
    bank_account character varying(10),
    bank_code character varying(8),
    bank_name character varying(50),
    bank_iban character varying(30),
    bank_bic character varying(15),
    mandat_ref character varying(10)
);
@@ -54,6 +57,12 @@
-- Name: basepacket; Type: TABLE; Schema: public; Owner: -; Tablespace: 
--
CREATE SEQUENCE basepacket_basepacket_id_seq
    INCREMENT BY 1
    NO MAXVALUE
    NO MINVALUE
    CACHE 1;
CREATE TABLE basepacket (
    basepacket_id integer DEFAULT nextval(('"basepacket_basepacket_id_seq"'::text)::regclass) NOT NULL,
    basepacket_code character varying(10) NOT NULL,
@@ -63,46 +72,8 @@
    valid boolean NOT NULL
);
--
-- Name: basepacket_basepacket_id_seq; Type: SEQUENCE; Schema: public; Owner: -
--
CREATE SEQUENCE basepacket_basepacket_id_seq
    INCREMENT BY 1
    NO MAXVALUE
    NO MINVALUE
    CACHE 1;
--
-- Name: billdata; Type: TABLE; Schema: public; Owner: -; Tablespace:
--
CREATE TABLE billdata (
    billdata_id integer DEFAULT nextval(('"billdata_billdata_id_seq"'::text)::regclass) NOT NULL,
    bp_id integer NOT NULL,
    tariff_domain_discount_since date,
    tariff_domain_discount_until date,
    tariff_traffic_discount_since date,
    tariff_traffic_discount_until date,
    tariff_quota_discount_since date,
    tariff_quota_discount_until date,
    tariff_discount_since date,
    tariff_discount_until date
);
--
-- Name: billdata_billdata_id_seq; Type: SEQUENCE; Schema: public; Owner: -
--
CREATE SEQUENCE billdata_billdata_id_seq
    INCREMENT BY 1
    NO MAXVALUE
    NO MINVALUE
    CACHE 1;
ALTER TABLE ONLY basepacket
    ADD CONSTRAINT pk_basepacket PRIMARY KEY (basepacket_id);
--
-- Name: business_partner; Type: TABLE; Schema: public; Owner: -; Tablespace: 
@@ -122,6 +93,7 @@
    uid_vat character varying(20),
    free boolean NOT NULL,
    indicator_vat character varying(20) NOT NULL,
    exempt_vat boolean NOT NULL,
    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)),
@@ -144,7 +116,14 @@
-- Name: component; Type: TABLE; Schema: public; Owner: -; Tablespace: 
--
CREATE SEQUENCE component_id_seq
    INCREMENT BY 1
    NO MAXVALUE
    NO MINVALUE
    CACHE 1;
CREATE TABLE component (
   component_id integer DEFAULT nextval(('"component_id_seq"'::text)::regclass) NOT NULL,
    basepacket_id integer NOT NULL,
    basecomponent_id integer NOT NULL,
    article_number integer NOT NULL,
@@ -155,10 +134,12 @@
    include_quantity integer NOT NULL,
    admin_only boolean NOT NULL,
    CONSTRAINT ckt_component CHECK (
       (min_quantity <= max_quantity) AND
       (0 <= min_quantity) AND
       (min_quantity <= default_quantity) AND 
       (default_quantity <= max_quantity) AND 
       (include_quantity <= max_quantity) AND
       (include_quantity <= default_quantity) AND
       (0 <= include_quantity) AND
       (mod(min_quantity, increment_quantity) = 0) AND
       (mod(max_quantity, increment_quantity) = 0) AND 
       (mod(default_quantity, increment_quantity) = 0) AND 
       (mod(include_quantity, increment_quantity) = 0)
@@ -354,8 +335,6 @@
);
SET default_with_oids = true;
--
-- Name: hive; Type: TABLE; Schema: public; Owner: -; Tablespace: 
--
@@ -406,8 +385,15 @@
-- Name: packet; Type: TABLE; Schema: public; Owner: -; Tablespace: 
--
CREATE SEQUENCE packet_packet_id_seq
    INCREMENT BY 1
    NO MAXVALUE
    NO MINVALUE
    CACHE 1;
CREATE TABLE packet (
    packet_id integer DEFAULT nextval(('"packet_packet_id_seq"'::text)::regclass) NOT NULL,
    basepacket_id integer NOT NULL,
    packet_name character varying(5) NOT NULL,
    bp_id integer NOT NULL,
    hive_id integer NOT NULL,
@@ -419,13 +405,22 @@
    CONSTRAINT ckt_packet CHECK (((cancelled IS NULL) OR (cancelled > created)))
);
ALTER TABLE ONLY packet
    ADD CONSTRAINT base_packet_ref FOREIGN KEY (basepacket_id) REFERENCES basepacket(basepacket_id);
--
-- Name: packet_component; Type: TABLE; Schema: public; Owner: -; Tablespace: 
--
CREATE SEQUENCE packet_component_id_seq
    INCREMENT BY 1
    NO MAXVALUE
    NO MINVALUE
    CACHE 1;
CREATE TABLE packet_component (
    basepacket_id integer NOT NULL,
   packet_component_id integer DEFAULT nextval(('"packet_component_id_seq"'::text)::regclass) NOT NULL,
    basecomponent_id integer NOT NULL,
    packet_id integer NOT NULL,
    quantity integer NOT NULL,
@@ -434,19 +429,6 @@
    CONSTRAINT ckt_packet_component CHECK (((cancelled IS NULL) OR (cancelled > created)))
);
--
-- Name: packet_packet_id_seq; Type: SEQUENCE; Schema: public; Owner: -
--
CREATE SEQUENCE packet_packet_id_seq
    INCREMENT BY 1
    NO MAXVALUE
    NO MINVALUE
    CACHE 1;
SET default_with_oids = false;
--
-- Name: queue_task; Type: TABLE; Schema: public; Owner: -; Tablespace: 
@@ -554,22 +536,6 @@
--
-- Name: pk_basepacket; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
--
ALTER TABLE ONLY basepacket
    ADD CONSTRAINT pk_basepacket PRIMARY KEY (basepacket_id);
--
-- Name: pk_billdata; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
--
ALTER TABLE ONLY billdata
    ADD CONSTRAINT pk_billdata PRIMARY KEY (billdata_id);
--
-- Name: pk_business_partner; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
--
@@ -582,7 +548,7 @@
--
ALTER TABLE ONLY component
    ADD CONSTRAINT pk_component PRIMARY KEY (basepacket_id, basecomponent_id);
    ADD CONSTRAINT pk_component PRIMARY KEY (component_id);
--
@@ -638,7 +604,7 @@
--
ALTER TABLE ONLY packet_component
    ADD CONSTRAINT pk_packet_component PRIMARY KEY (basepacket_id, basecomponent_id, packet_id);
    ADD CONSTRAINT pk_packet_component PRIMARY KEY (packet_component_id);
--
@@ -676,13 +642,6 @@
--
CREATE UNIQUE INDEX basepacket_in_1 ON basepacket USING btree (basepacket_code);
--
-- Name: billdata_in_1; Type: INDEX; Schema: public; Owner: -; Tablespace:
--
CREATE UNIQUE INDEX billdata_in_1 ON billdata USING btree (bp_id);
--
@@ -852,22 +811,6 @@
ALTER TABLE ONLY component
    ADD CONSTRAINT fk_bcomp_bpack FOREIGN KEY (basepacket_id) REFERENCES basepacket(basepacket_id) ON UPDATE RESTRICT ON DELETE RESTRICT;
--
-- Name: fk_billdata_reference_business; Type: FK CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY billdata
    ADD CONSTRAINT fk_billdata_reference_business FOREIGN KEY (bp_id) REFERENCES business_partner(bp_id) ON UPDATE RESTRICT ON DELETE RESTRICT;
--
-- Name: fk_comp_bcomp; Type: FK CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY packet_component
    ADD CONSTRAINT fk_comp_bcomp FOREIGN KEY (basepacket_id, basecomponent_id) REFERENCES component(basepacket_id, basecomponent_id) ON UPDATE RESTRICT ON DELETE RESTRICT;
--