HSAdmin Backend Domains, E-Mail, Datenbanken
Peter Hormanns
2014-03-21 ff75a342e83f0c2fb3f3678765bf694416c3e73a
hsarback/database/schema.sql
@@ -5,14 +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,
    autodebit_ar boolean,
    autodebit_op boolean,
    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),
    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))))
    bank_iban character varying(30),
    bank_bic character varying(15),
    mandat_ref character varying(10)
);
@@ -55,54 +57,23 @@
-- Name: basepacket; Type: TABLE; Schema: public; Owner: -; Tablespace: 
--
CREATE TABLE basepacket (
    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,
    sorting integer NOT NULL,
    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
CREATE TABLE basepacket (
    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
);
--
-- 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: 
@@ -120,9 +91,13 @@
    shares_updated date,
    shares_signed integer NOT NULL,
    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))
    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)
);
@@ -141,16 +116,34 @@
-- 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,
    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 (
       (0 <= min_quantity) AND
       (min_quantity <= default_quantity) AND
       (default_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)
    )
);
@@ -192,6 +185,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 +226,6 @@
    NO MINVALUE
    CACHE 1;
SET default_with_oids = false;
--
-- Name: database; Type: TABLE; Schema: public; Owner: -; Tablespace: 
@@ -312,8 +335,6 @@
);
SET default_with_oids = true;
--
-- Name: hive; Type: TABLE; Schema: public; Owner: -; Tablespace: 
--
@@ -364,27 +385,42 @@
-- 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,
    created date NOT NULL,
    cancelled date,
    order_number character varying(20),
    webserver_group character varying(10),
    free boolean NOT NULL,
    cur_inet_addr_id integer,
    old_inet_addr_id integer,
    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,
@@ -393,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: 
@@ -513,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: 
--
@@ -541,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);
--
@@ -597,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);
--
@@ -635,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);
--
@@ -814,22 +814,6 @@
--
-- 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;
--
-- Name: fk_comp_pack; Type: FK CONSTRAINT; Schema: public; Owner: -
--
@@ -900,6 +884,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