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