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