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