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