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