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