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