HSAdmin Backend Domains, E-Mail, Datenbanken
Peter Hormanns
2018-07-05 bde85859a33b0a9f6fd9a404e1e8ae81f378abf4
commit | author | age
5c0c11 1 CREATE SEQUENCE sepa_mandat_id_seq
13151e 2     INCREMENT BY 1
PH 3     NO MAXVALUE
4     NO MINVALUE
5     CACHE 1;
6
5c0c11 7 CREATE TABLE sepa_mandat (
PH 8     sepa_mandat_id integer NOT NULL,
9     bp_id integer NOT NULL,
10     bank_customer character varying(50) NOT NULL,
11     bank_name character varying(50),
12     bank_iban character varying(40) NOT NULL,
13     bank_bic character varying(40) NOT NULL,
14     mandat_ref character varying(40) NOT NULL,
15     mandat_signed date NOT NULL,
16     mandat_since date NOT NULL,
17     mandat_used date,
18     mandat_until date
19 );
20
21 ALTER TABLE ONLY sepa_mandat ALTER COLUMN sepa_mandat_id SET DEFAULT nextval('sepa_mandat_id_seq'::regclass);
22
23 ALTER TABLE ONLY sepa_mandat
24     ADD CONSTRAINT pk_sepa_mandat PRIMARY KEY (sepa_mandat_id);
25
26 ALTER TABLE ONLY sepa_mandat
27     ADD CONSTRAINT dateschk1 CHECK (mandat_signed <= mandat_since AND mandat_since <= mandat_until);
28
29 ALTER TABLE ONLY sepa_mandat
30     ADD CONSTRAINT dateschk2 CHECK (mandat_since <= mandat_until AND mandat_since <= mandat_used AND mandat_used <= mandat_until);
13151e 31
PH 32 --
33 -- Name: basecomponent; Type: TABLE; Schema: public; Owner: -; Tablespace: 
34 --
35
36 CREATE TABLE basecomponent (
37     basecomponent_id integer DEFAULT nextval(('"basecomponent_basecomponent_seq"'::text)::regclass) NOT NULL,
38     basecomponent_code character varying(10) NOT NULL,
39     description character varying(100) NOT NULL,
40     sorting integer NOT NULL,
41     valid boolean NOT NULL
42 );
43
44
45 --
46 -- Name: basecomponent_basecomponent_seq; Type: SEQUENCE; Schema: public; Owner: -
47 --
48
49 CREATE SEQUENCE basecomponent_basecomponent_seq
50     INCREMENT BY 1
51     NO MAXVALUE
52     NO MINVALUE
53     CACHE 1;
54
55
56 --
57 -- Name: basepacket; Type: TABLE; Schema: public; Owner: -; Tablespace: 
58 --
59
e64adb 60 CREATE SEQUENCE basepacket_basepacket_id_seq
PH 61     INCREMENT BY 1
62     NO MAXVALUE
63     NO MINVALUE
64     CACHE 1;
65
13151e 66 CREATE TABLE basepacket (
PH 67     basepacket_id integer DEFAULT nextval(('"basepacket_basepacket_id_seq"'::text)::regclass) NOT NULL,
68     basepacket_code character varying(10) NOT NULL,
69     description character varying(100) NOT NULL,
f32fd2 70     article_number integer NOT NULL,
13151e 71     sorting integer NOT NULL,
PH 72     valid boolean NOT NULL
73 );
74
e64adb 75 ALTER TABLE ONLY basepacket
PH 76     ADD CONSTRAINT pk_basepacket PRIMARY KEY (basepacket_id);
13151e 77
PH 78 --
79 -- Name: business_partner; Type: TABLE; Schema: public; Owner: -; Tablespace: 
80 --
81
82 CREATE TABLE business_partner (
83     bp_id integer DEFAULT nextval(('"business_partner_bp_id_seq"'::text)::regclass) NOT NULL,
84     member_id integer NOT NULL,
85     member_code character varying(20) NOT NULL,
86     member_since date,
87     member_until date,
88     member_role character varying(100),
89     author_contract date,
90     nondisc_contract date,
91     shares_updated date,
92     shares_signed integer NOT NULL,
93     uid_vat character varying(20),
d1da05 94     free boolean NOT NULL,
054f38 95     indicator_vat character varying(20) NOT NULL,
aa82ca 96     exempt_vat boolean NOT NULL,
13151e 97     CONSTRAINT ckc_member_id_business CHECK (((member_id >= 10000) AND (member_id <= 99999))),
PH 98     CONSTRAINT ckc_shares_signed_business CHECK ((shares_signed >= 0)),
f572d9 99     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)),
PH 100     UNIQUE (bp_id)
13151e 101 );
PH 102
103
104 --
105 -- Name: business_partner_bp_id_seq; Type: SEQUENCE; Schema: public; Owner: -
106 --
107
108 CREATE SEQUENCE business_partner_bp_id_seq
109     INCREMENT BY 1
110     NO MAXVALUE
111     NO MINVALUE
112     CACHE 1;
113
5c0c11 114 ALTER TABLE ONLY sepa_mandat
PH 115     ADD CONSTRAINT fk_bank_acc_reference_business FOREIGN KEY (bp_id) REFERENCES business_partner(bp_id) ON UPDATE RESTRICT ON DELETE RESTRICT;
116
117
13151e 118
PH 119 --
120 -- Name: component; Type: TABLE; Schema: public; Owner: -; Tablespace: 
121 --
122
e64adb 123 CREATE SEQUENCE component_id_seq
PH 124     INCREMENT BY 1
125     NO MAXVALUE
126     NO MINVALUE
127     CACHE 1;
128
13151e 129 CREATE TABLE component (
e64adb 130     component_id integer DEFAULT nextval(('"component_id_seq"'::text)::regclass) NOT NULL,
13151e 131     basepacket_id integer NOT NULL,
PH 132     basecomponent_id integer NOT NULL,
f32fd2 133     article_number integer NOT NULL,
13151e 134     min_quantity integer NOT NULL,
PH 135     max_quantity integer NOT NULL,
136     default_quantity integer NOT NULL,
137     increment_quantity integer NOT NULL,
138     include_quantity integer NOT NULL,
139     admin_only boolean NOT NULL,
d45079 140     CONSTRAINT ckt_component CHECK (
8d2214 141         (0 <= min_quantity) AND 
d45079 142         (min_quantity <= default_quantity) AND 
PH 143         (default_quantity <= max_quantity) AND 
8d2214 144         (include_quantity <= default_quantity) AND 
PH 145         (0 <= include_quantity) AND 
146         (mod(min_quantity, increment_quantity) = 0) AND 
d45079 147         (mod(max_quantity, increment_quantity) = 0) AND 
PH 148         (mod(default_quantity, increment_quantity) = 0) AND 
149         (mod(include_quantity, increment_quantity) = 0)
150     )
13151e 151 );
PH 152
153
154 --
155 -- Name: contact; Type: TABLE; Schema: public; Owner: -; Tablespace: 
156 --
157
158 CREATE TABLE contact (
159     contact_id integer DEFAULT nextval(('"contact_contact_id_seq"'::text)::regclass) NOT NULL,
160     bp_id integer NOT NULL,
161     salut character varying(30),
162     first_name character varying(40) NOT NULL,
163     last_name character varying(40) NOT NULL,
164     title character varying(20),
165     firma character varying(120),
166     co character varying(50),
167     street character varying(50),
168     zipcode character varying(10),
169     city character varying(40),
170     country character varying(30),
171     phone_private character varying(30),
172     phone_office character varying(30),
173     phone_mobile character varying(30),
174     fax character varying(30),
175     email character varying(100) NOT NULL,
176     CONSTRAINT ckc_email_contact CHECK (((email)::text ~~ '%@%.%'::text))
177 );
178
5c0c11 179 ALTER TABLE ONLY contact
PH 180     ADD CONSTRAINT pk_contact PRIMARY KEY (contact_id);
181     
13151e 182 --
PH 183 -- Name: contact_contact_id_seq; Type: SEQUENCE; Schema: public; Owner: -
184 --
185
186 CREATE SEQUENCE contact_contact_id_seq
187     INCREMENT BY 1
188     NO MAXVALUE
189     NO MINVALUE
190     CACHE 1;
191
5c0c11 192 CREATE TABLE contactrole_ref (
PH 193     contact_id integer NOT NULL,
194     role character varying(40) NOT NULL
195 );
13151e 196
5c0c11 197 ALTER TABLE ONLY contactrole_ref
PH 198     ADD CONSTRAINT pk_contactrole_ref PRIMARY KEY (contact_id, role);
199     
200 CREATE TABLE role ( 
201     role_name character varying(40) NOT NULL
202 );
203
204 ALTER TABLE ONLY role
205     ADD CONSTRAINT pk_role PRIMARY KEY (role_name);
206
207 INSERT INTO role VALUES ('billing'), ('operations');
208
209 ALTER TABLE ONLY contactrole_ref
210     ADD CONSTRAINT fk_contactrole_ref_role FOREIGN KEY (role) REFERENCES role(role_name);
211
212 ALTER TABLE ONLY contactrole_ref
213     ADD CONSTRAINT fk_contactrole_ref_contact FOREIGN KEY (contact_id) REFERENCES contact(contact_id);
214     
215 INSERT INTO contactrole_ref (contact_id, role) 
216     ( SELECT contact_id, 'billing' FROM contact );
217     
218 INSERT INTO contactrole_ref (contact_id, role) 
219     ( SELECT contact_id, 'operations' FROM contact );
f32fd2 220
PH 221 CREATE TABLE price_list (
222     id serial primary key,                                                                   
223     name character varying(20)
224 );       
225
5c0c11 226 ALTER TABLE price_list
PH 227     ADD CONSTRAINT price_list_uniq_name UNIQUE (name);
228     
229 CREATE TABLE pricelist_ref (
230     bp_id integer NOT NULL,
231     price_list character varying(40) NOT NULL
f32fd2 232 );
PH 233
5c0c11 234 ALTER TABLE ONLY pricelist_ref
PH 235     ADD CONSTRAINT fk_pricelist_ref_bp FOREIGN KEY (bp_id) REFERENCES business_partner(bp_id) ON UPDATE RESTRICT ON DELETE CASCADE;
236     
237 ALTER TABLE ONLY pricelist_ref
238     ADD CONSTRAINT fk_pricelist_ref_pricelist FOREIGN KEY (price_list) REFERENCES price_list(name) ON UPDATE RESTRICT ON DELETE CASCADE;
239     
f32fd2 240
PH 241 --
242 -- Name: price
243 --
244
245 CREATE TABLE price (                                                                
246     id serial primary key,
247     article_number integer NOT NULL,
248     price decimal(10, 2) NOT NULL,
249     vat decimal(4,2) NOT NULL,
250     price_list integer references price_list(id)                                             
251 );
252
253 --
13151e 254 -- Name: database_database_id_seq; Type: SEQUENCE; Schema: public; Owner: -
PH 255 --
256
257 CREATE SEQUENCE database_database_id_seq
258     INCREMENT BY 1
259     NO MAXVALUE
260     NO MINVALUE
261     CACHE 1;
262
263
264 --
265 -- Name: database; Type: TABLE; Schema: public; Owner: -; Tablespace: 
266 --
267
268 CREATE TABLE database (
269     database_id integer DEFAULT nextval('database_database_id_seq'::regclass) NOT NULL,
270     engine character varying(12) NOT NULL,
271     packet_id integer NOT NULL,
272     name character varying(64) NOT NULL,
273     owner character varying(24) NOT NULL,
274     encoding character varying(12) NOT NULL
275 );
276
277
278 --
279 -- Name: dbuser_dbuser_id_seq; Type: SEQUENCE; Schema: public; Owner: -
280 --
281
282 CREATE SEQUENCE dbuser_dbuser_id_seq
283     INCREMENT BY 1
284     NO MAXVALUE
285     NO MINVALUE
286     CACHE 1;
287
288
289 --
290 -- Name: database_user; Type: TABLE; Schema: public; Owner: -; Tablespace: 
291 --
292
293 CREATE TABLE database_user (
294     dbuser_id integer DEFAULT nextval('dbuser_dbuser_id_seq'::regclass) NOT NULL,
295     engine character varying(12) NOT NULL,
296     packet_id integer NOT NULL,
297     name character varying(64) NOT NULL
298 );
299
300
301 --
302 -- Name: domain_domain_id_seq; Type: SEQUENCE; Schema: public; Owner: -
303 --
304
305 CREATE SEQUENCE domain_domain_id_seq
306     INCREMENT BY 1
307     NO MAXVALUE
308     NO MINVALUE
309     CACHE 1;
310
311
312 --
313 -- Name: domain; Type: TABLE; Schema: public; Owner: -; Tablespace: 
314 --
315
316 CREATE TABLE domain (
317     domain_name character varying(256) NOT NULL,
318     domain_since date,
319     domain_dns_master character varying(64),
320     domain_id integer DEFAULT nextval('domain_domain_id_seq'::regclass) NOT NULL,
bde858 321     domain_owner integer NOT NULL,
PH 322     valid_subdomain_names character varying(256) DEFAULT 'www' NOT NULL
13151e 323 );
PH 324
325
326 --
327 -- Name: emailaddr_emailaddr_id_seq; Type: SEQUENCE; Schema: public; Owner: -
328 --
329
330 CREATE SEQUENCE emailaddr_emailaddr_id_seq
331     INCREMENT BY 1
332     NO MAXVALUE
333     NO MINVALUE
334     CACHE 1;
335
336
337 --
338 -- Name: emailaddr; Type: TABLE; Schema: public; Owner: -; Tablespace: 
339 --
340
341 CREATE TABLE emailaddr (
342     emailaddr_id integer DEFAULT nextval('emailaddr_emailaddr_id_seq'::regclass) NOT NULL,
343     localpart character varying(64) NOT NULL,
344     domain_id integer NOT NULL,
345     target text,
346     subdomain character varying(64)
347 );
348
349
350 --
351 -- Name: emailalias_emailalias_id_seq; Type: SEQUENCE; Schema: public; Owner: -
352 --
353
354 CREATE SEQUENCE emailalias_emailalias_id_seq
355     INCREMENT BY 1
356     NO MAXVALUE
357     NO MINVALUE
358     CACHE 1;
359
360
361 --
362 -- Name: emailalias; Type: TABLE; Schema: public; Owner: -; Tablespace: 
363 --
364
365 CREATE TABLE emailalias (
366     emailalias_id integer DEFAULT nextval('emailalias_emailalias_id_seq'::regclass) NOT NULL,
367     pac_id integer NOT NULL,
368     target text NOT NULL,
369     name character varying(96) NOT NULL
370 );
371
372
373 --
374 -- Name: hive; Type: TABLE; Schema: public; Owner: -; Tablespace: 
375 --
376
377 CREATE TABLE hive (
378     hive_id integer DEFAULT nextval(('"hive_hive_id_seq"'::text)::regclass) NOT NULL,
379     hive_name character varying(3) NOT NULL,
380     inet_addr_id integer NOT NULL,
381     description character varying(100)
382 );
383
384
385 --
386 -- Name: hive_hive_id_seq; Type: SEQUENCE; Schema: public; Owner: -
387 --
388
389 CREATE SEQUENCE hive_hive_id_seq
390     INCREMENT BY 1
391     NO MAXVALUE
392     NO MINVALUE
393     CACHE 1;
394
395
396 --
397 -- Name: inet_addr; Type: TABLE; Schema: public; Owner: -; Tablespace: 
398 --
399
400 CREATE TABLE inet_addr (
401     inet_addr_id integer DEFAULT nextval(('"inet_addr_inet_addr_id_seq"'::text)::regclass) NOT NULL,
402     inet_addr inet NOT NULL,
403     description character varying(100),
404     CONSTRAINT ckc_inet_addr_inet_add CHECK ((masklen(inet_addr) = 32))
405 );
406
407
408 --
409 -- Name: inet_addr_inet_addr_id_seq; Type: SEQUENCE; Schema: public; Owner: -
410 --
411
412 CREATE SEQUENCE inet_addr_inet_addr_id_seq
413     INCREMENT BY 1
414     NO MAXVALUE
415     NO MINVALUE
416     CACHE 1;
417
418
419 --
420 -- Name: packet; Type: TABLE; Schema: public; Owner: -; Tablespace: 
421 --
422
e64adb 423 CREATE SEQUENCE packet_packet_id_seq
PH 424     INCREMENT BY 1
425     NO MAXVALUE
426     NO MINVALUE
427     CACHE 1;
428
13151e 429 CREATE TABLE packet (
PH 430     packet_id integer DEFAULT nextval(('"packet_packet_id_seq"'::text)::regclass) NOT NULL,
e64adb 431     basepacket_id integer NOT NULL,
13151e 432     packet_name character varying(5) NOT NULL,
PH 433     bp_id integer NOT NULL,
434     hive_id integer NOT NULL,
435     created date NOT NULL,
436     cancelled date,
25058b 437     free boolean NOT NULL,
13151e 438     cur_inet_addr_id integer,
PH 439     old_inet_addr_id integer,
440     CONSTRAINT ckt_packet CHECK (((cancelled IS NULL) OR (cancelled > created)))
441 );
442
e64adb 443 ALTER TABLE ONLY packet
PH 444     ADD CONSTRAINT base_packet_ref FOREIGN KEY (basepacket_id) REFERENCES basepacket(basepacket_id);
13151e 445
PH 446
0b888d 447 --
PH 448 -- Name: packet_component; Type: TABLE; Schema: public; Owner: -; Tablespace: 
449 --
450
e64adb 451 CREATE SEQUENCE packet_component_id_seq
PH 452     INCREMENT BY 1
453     NO MAXVALUE
454     NO MINVALUE
455     CACHE 1;
456
0b888d 457 CREATE TABLE packet_component (
e64adb 458     packet_component_id integer DEFAULT nextval(('"packet_component_id_seq"'::text)::regclass) NOT NULL,
0b888d 459     basecomponent_id integer NOT NULL,
PH 460     packet_id integer NOT NULL,
461     quantity integer NOT NULL,
462     created date,
463     cancelled date,
464     CONSTRAINT ckt_packet_component CHECK (((cancelled IS NULL) OR (cancelled > created)))
465 );
466
13151e 467
PH 468 --
469 -- Name: queue_task; Type: TABLE; Schema: public; Owner: -; Tablespace: 
470 --
471
472 CREATE TABLE queue_task (
473     task_id integer DEFAULT nextval(('"queue_task_id_seq"'::text)::regclass) NOT NULL,
474     proc bytea,
475     exception text,
476     started timestamp without time zone NOT NULL,
477     finished timestamp without time zone,
478     title character varying(192),
479     details text,
480     user_id integer
481 );
482
483
484 --
485 -- Name: queue_task_id_seq; Type: SEQUENCE; Schema: public; Owner: -
486 --
487
488 CREATE SEQUENCE queue_task_id_seq
489     INCREMENT BY 1
490     NO MAXVALUE
491     NO MINVALUE
492     CACHE 1;
493
494
495 --
496 -- Name: unixuser_unixuser_id_seq; Type: SEQUENCE; Schema: public; Owner: -
497 --
498
499 CREATE SEQUENCE unixuser_unixuser_id_seq
500     INCREMENT BY 1
501     NO MAXVALUE
502     NO MINVALUE
503     CACHE 1;
504
505
506 --
507 -- Name: unixuser; Type: TABLE; Schema: public; Owner: -; Tablespace: 
508 --
509
510 CREATE TABLE unixuser (
511     unixuser_id integer DEFAULT nextval('unixuser_unixuser_id_seq'::regclass) NOT NULL,
512     name character varying(64) NOT NULL,
513     comment character varying(128),
514     shell character varying(64) NOT NULL,
515     homedir character varying(128) NOT NULL,
516     locked boolean NOT NULL,
517     packet_id integer NOT NULL,
518     quota_softlimit integer DEFAULT 0 NOT NULL,
519     userid integer NOT NULL,
520     quota_hardlimit integer DEFAULT 0,
521     CONSTRAINT unixuser_userid CHECK ((userid >= 10000))
522 );
523
524
525 --
526 -- Name: database_uniq; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
527 --
528
529 ALTER TABLE ONLY database
530     ADD CONSTRAINT database_uniq UNIQUE (engine, name);
531
532
533 --
534 -- Name: database_user_uniq; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
535 --
536
537 ALTER TABLE ONLY database_user
538     ADD CONSTRAINT database_user_uniq UNIQUE (engine, name);
539
540
541 --
542 -- Name: emailaddr_uniq; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
543 --
544
545 ALTER TABLE ONLY emailaddr
546     ADD CONSTRAINT emailaddr_uniq UNIQUE (localpart, subdomain, domain_id);
547
548
549 --
550 -- Name: emailalias_uniq; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
551 --
552
553 ALTER TABLE ONLY emailalias
554     ADD CONSTRAINT emailalias_uniq UNIQUE (name);
555
556
557 --
558 -- Name: pk_basecomponent; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
559 --
560
561 ALTER TABLE ONLY basecomponent
562     ADD CONSTRAINT pk_basecomponent PRIMARY KEY (basecomponent_id);
563
564
565 --
566 -- Name: pk_business_partner; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
567 --
568
569 ALTER TABLE ONLY business_partner
570     ADD CONSTRAINT pk_business_partner PRIMARY KEY (bp_id);
571
572
573 --
574 -- Name: pk_component; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
575 --
576
577 ALTER TABLE ONLY component
e64adb 578     ADD CONSTRAINT pk_component PRIMARY KEY (component_id);
13151e 579
PH 580 ALTER TABLE ONLY database
581     ADD CONSTRAINT pk_database PRIMARY KEY (database_id);
582
583
584 --
585 -- Name: pk_database_user; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
586 --
587
588 ALTER TABLE ONLY database_user
589     ADD CONSTRAINT pk_database_user PRIMARY KEY (dbuser_id);
590
591
592 --
593 -- Name: pk_hive; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
594 --
595
596 ALTER TABLE ONLY hive
597     ADD CONSTRAINT pk_hive PRIMARY KEY (hive_id);
598
599
600 --
601 -- Name: pk_inet_addr; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
602 --
603
604 ALTER TABLE ONLY inet_addr
605     ADD CONSTRAINT pk_inet_addr PRIMARY KEY (inet_addr_id);
606
607
608 --
609 -- Name: pk_packet; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
610 --
611
612 ALTER TABLE ONLY packet
613     ADD CONSTRAINT pk_packet PRIMARY KEY (packet_id);
614
615
616 --
617 -- Name: pk_packet_component; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
618 --
619
620 ALTER TABLE ONLY packet_component
e64adb 621     ADD CONSTRAINT pk_packet_component PRIMARY KEY (packet_component_id);
13151e 622
PH 623
624 --
625 -- Name: pk_unixuser; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
626 --
627
628 ALTER TABLE ONLY unixuser
629     ADD CONSTRAINT pk_unixuser PRIMARY KEY (unixuser_id);
630
631
632 --
633 -- Name: unixuser_name_key; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
634 --
635
636 ALTER TABLE ONLY unixuser
637     ADD CONSTRAINT unixuser_name_key UNIQUE (name);
638
639
640 --
641 -- Name: basecomponent_in_1; Type: INDEX; Schema: public; Owner: -; Tablespace: 
642 --
643
644 CREATE UNIQUE INDEX basecomponent_in_1 ON basecomponent USING btree (basecomponent_code);
645
646
647 --
648 -- Name: basepacket_in_1; Type: INDEX; Schema: public; Owner: -; Tablespace: 
649 --
650
651 CREATE UNIQUE INDEX basepacket_in_1 ON basepacket USING btree (basepacket_code);
652
653
654 --
655 -- Name: component_in_1; Type: INDEX; Schema: public; Owner: -; Tablespace: 
656 --
657
658 CREATE INDEX component_in_1 ON component USING btree (basecomponent_id);
659
660
661 --
662 -- Name: contact_in_1; Type: INDEX; Schema: public; Owner: -; Tablespace: 
663 --
664
665 CREATE INDEX contact_in_1 ON contact USING btree (bp_id);
666
667
668 --
669 -- Name: customer_in_1; Type: INDEX; Schema: public; Owner: -; Tablespace: 
670 --
671
672 CREATE UNIQUE INDEX customer_in_1 ON business_partner USING btree (member_code);
673
674
675 --
676 -- Name: customer_in_2; Type: INDEX; Schema: public; Owner: -; Tablespace: 
677 --
678
679 CREATE UNIQUE INDEX customer_in_2 ON business_partner USING btree (member_id);
680
681
682 --
683 -- Name: database_unique_owner; Type: INDEX; Schema: public; Owner: -; Tablespace: 
684 --
685
686 CREATE UNIQUE INDEX database_unique_owner ON database_user USING btree (name, engine);
687
688
689 --
690 -- Name: domain_unique_id; Type: INDEX; Schema: public; Owner: -; Tablespace: 
691 --
692
693 CREATE UNIQUE INDEX domain_unique_id ON domain USING btree (domain_id);
694
695
696 --
697 -- Name: domain_unique_name; Type: INDEX; Schema: public; Owner: -; Tablespace: 
698 --
699
700 CREATE UNIQUE INDEX domain_unique_name ON domain USING btree (domain_name);
701
702
703 --
704 -- Name: emailaddr_uniq2; Type: INDEX; Schema: public; Owner: -; Tablespace: 
705 --
706
707 CREATE UNIQUE INDEX emailaddr_uniq2 ON emailaddr USING btree (localpart, domain_id) WHERE (subdomain IS NULL);
708
709
710 --
711 -- Name: hive_in_1; Type: INDEX; Schema: public; Owner: -; Tablespace: 
712 --
713
714 CREATE UNIQUE INDEX hive_in_1 ON hive USING btree (hive_name);
715
716
717 --
718 -- Name: inet_addr_in_1; Type: INDEX; Schema: public; Owner: -; Tablespace: 
719 --
720
721 CREATE UNIQUE INDEX inet_addr_in_1 ON inet_addr USING btree (inet_addr);
722
723
724 --
725 -- Name: packet_component_in_1; Type: INDEX; Schema: public; Owner: -; Tablespace: 
726 --
727
728 CREATE INDEX packet_component_in_1 ON packet_component USING btree (packet_id);
729
730
731 --
732 -- Name: packet_component_in_2; Type: INDEX; Schema: public; Owner: -; Tablespace: 
733 --
734
735 CREATE INDEX packet_component_in_2 ON packet_component USING btree (basecomponent_id);
736
737
738 --
739 -- Name: packet_in_1; Type: INDEX; Schema: public; Owner: -; Tablespace: 
740 --
741
742 CREATE UNIQUE INDEX packet_in_1 ON packet USING btree (packet_name);
743
744
745 --
746 -- Name: packet_in_2; Type: INDEX; Schema: public; Owner: -; Tablespace: 
747 --
748
749 CREATE INDEX packet_in_2 ON packet USING btree (bp_id);
750
751
752 --
753 -- Name: unique_task_id; Type: INDEX; Schema: public; Owner: -; Tablespace: 
754 --
755
756 CREATE UNIQUE INDEX unique_task_id ON queue_task USING btree (task_id);
757
758
759 --
760 -- Name: database_owner; Type: FK CONSTRAINT; Schema: public; Owner: -
761 --
762
763 ALTER TABLE ONLY database
764     ADD CONSTRAINT database_owner FOREIGN KEY (owner, engine) REFERENCES database_user(name, engine);
765
766
767 --
768 -- Name: database_packet_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
769 --
770
771 ALTER TABLE ONLY database
772     ADD CONSTRAINT database_packet_id_fkey FOREIGN KEY (packet_id) REFERENCES packet(packet_id) DEFERRABLE;
773
774
775 --
776 -- Name: dbuser_packet_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
777 --
778
779 ALTER TABLE ONLY database_user
780     ADD CONSTRAINT dbuser_packet_id_fkey FOREIGN KEY (packet_id) REFERENCES packet(packet_id) DEFERRABLE;
781
782
783 --
784 -- Name: domain_owner_chk; Type: FK CONSTRAINT; Schema: public; Owner: -
785 --
786
787 ALTER TABLE ONLY domain
788     ADD CONSTRAINT domain_owner_chk FOREIGN KEY (domain_owner) REFERENCES unixuser(unixuser_id) MATCH FULL;
789
790
791 --
792 -- Name: email_domain; Type: FK CONSTRAINT; Schema: public; Owner: -
793 --
794
795 ALTER TABLE ONLY emailaddr
796     ADD CONSTRAINT email_domain FOREIGN KEY (domain_id) REFERENCES domain(domain_id);
797
798
799 --
800 -- Name: emailalias_pac_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
801 --
802
803 ALTER TABLE ONLY emailalias
804     ADD CONSTRAINT emailalias_pac_id_fkey FOREIGN KEY (pac_id) REFERENCES packet(packet_id) DEFERRABLE;
805
806
807 --
808 -- Name: fk_bcomp_bpack; Type: FK CONSTRAINT; Schema: public; Owner: -
809 --
810
811 ALTER TABLE ONLY component
812     ADD CONSTRAINT fk_bcomp_bpack FOREIGN KEY (basepacket_id) REFERENCES basepacket(basepacket_id) ON UPDATE RESTRICT ON DELETE RESTRICT;
813
814
815 --
816 -- Name: fk_comp_pack; Type: FK CONSTRAINT; Schema: public; Owner: -
817 --
818
819 ALTER TABLE ONLY packet_component
820     ADD CONSTRAINT fk_comp_pack FOREIGN KEY (packet_id) REFERENCES packet(packet_id) ON UPDATE RESTRICT ON DELETE RESTRICT;
821
822
823 --
824 -- Name: fk_contact_reference_business; Type: FK CONSTRAINT; Schema: public; Owner: -
825 --
826
827 ALTER TABLE ONLY contact
828     ADD CONSTRAINT fk_contact_reference_business FOREIGN KEY (bp_id) REFERENCES business_partner(bp_id) ON UPDATE RESTRICT ON DELETE RESTRICT;
829
830
831 --
832 -- Name: fk_hive_inet; Type: FK CONSTRAINT; Schema: public; Owner: -
833 --
834
835 ALTER TABLE ONLY hive
836     ADD CONSTRAINT fk_hive_inet FOREIGN KEY (inet_addr_id) REFERENCES inet_addr(inet_addr_id) ON UPDATE RESTRICT ON DELETE RESTRICT;
837
838
839 --
840 -- Name: fk_pac_cur_inet; Type: FK CONSTRAINT; Schema: public; Owner: -
841 --
842
843 ALTER TABLE ONLY packet
844     ADD CONSTRAINT fk_pac_cur_inet FOREIGN KEY (cur_inet_addr_id) REFERENCES inet_addr(inet_addr_id) ON UPDATE RESTRICT ON DELETE RESTRICT;
845
846
847 --
848 -- Name: fk_pac_old_inet; Type: FK CONSTRAINT; Schema: public; Owner: -
849 --
850
851 ALTER TABLE ONLY packet
852     ADD CONSTRAINT fk_pac_old_inet FOREIGN KEY (old_inet_addr_id) REFERENCES inet_addr(inet_addr_id) ON UPDATE RESTRICT ON DELETE RESTRICT;
853
854
855 --
856 -- Name: fk_packet_bp; Type: FK CONSTRAINT; Schema: public; Owner: -
857 --
858
859 ALTER TABLE ONLY packet
860     ADD CONSTRAINT fk_packet_bp FOREIGN KEY (bp_id) REFERENCES business_partner(bp_id) ON UPDATE RESTRICT ON DELETE RESTRICT;
861
862
863 --
864 -- Name: fk_packet_hive; Type: FK CONSTRAINT; Schema: public; Owner: -
865 --
866
867 ALTER TABLE ONLY packet
868     ADD CONSTRAINT fk_packet_hive FOREIGN KEY (hive_id) REFERENCES hive(hive_id) ON UPDATE RESTRICT ON DELETE RESTRICT;
869
870
871 --
872 -- Name: fk_reference_13; Type: FK CONSTRAINT; Schema: public; Owner: -
873 --
874
875 ALTER TABLE ONLY component
876     ADD CONSTRAINT fk_reference_13 FOREIGN KEY (basecomponent_id) REFERENCES basecomponent(basecomponent_id) ON UPDATE RESTRICT ON DELETE RESTRICT;
877
878
879 --
880 -- Name: queue_task_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
881 --
882
883 ALTER TABLE ONLY queue_task
884     ADD CONSTRAINT queue_task_user_id_fkey FOREIGN KEY (user_id) REFERENCES unixuser(unixuser_id) ON DELETE SET NULL;
885
b127d6 886 --
PB 887 -- domain options
888 --
889
b0ea76 890 CREATE SEQUENCE domain_option_id_seq
PH 891     INCREMENT BY 1
892     NO MAXVALUE
893     NO MINVALUE
894     CACHE 1;
895
896 CREATE TABLE domain_option (
897     domain_option_id integer DEFAULT nextval(('"domain_option_id_seq"'::text)::regclass) NOT NULL,
898     domain_option_name character varying(50) NOT NULL
899 );
900
901 ALTER TABLE ONLY domain_option
31889d 902     ADD CONSTRAINT pk_domain_option PRIMARY KEY (domain_option_id);
b0ea76 903
31889d 904 CREATE UNIQUE INDEX domain_option_name_idx ON domain_option USING btree ( domain_option_name );
01425c 905     
b0ea76 906 CREATE TABLE domain__domain_option (
PH 907     domain_option_id integer NOT NULL,
908     domain_id integer NOT NULL
909 ); 
910
31889d 911 ALTER TABLE ONLY domain__domain_option
HTS 912     ADD CONSTRAINT pk_domain__domain_option PRIMARY KEY (domain_option_id, domain_id);
b0ea76 913
PH 914 ALTER TABLE ONLY domain__domain_option
915     ADD CONSTRAINT domain_option_id_fkey FOREIGN KEY (domain_option_id) 
916         REFERENCES domain_option(domain_option_id) DEFERRABLE;
917
918 ALTER TABLE ONLY domain__domain_option
919     ADD CONSTRAINT domain_id_fkey FOREIGN KEY (domain_id) 
920         REFERENCES domain(domain_id) DEFERRABLE;
13151e 921