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