thomascube
2008-03-25 ac26b964663405521077c7710212a58c37a041c7
commit | author | age
977a29 1 --
T 2 -- Sequence "user_ids"
3 -- Name: user_ids; Type: SEQUENCE; Schema: public; Owner: postgres
4 --
5
6 CREATE SEQUENCE user_ids
7     INCREMENT BY 1
8     NO MAXVALUE
9     NO MINVALUE
10     CACHE 1;
11
f5dc2a 12 --
1cded8 13 -- Table "users"
f5dc2a 14 -- Name: users; Type: TABLE; Schema: public; Owner: postgres
S 15 --
16
17 CREATE TABLE users (
15a9d1 18     user_id integer DEFAULT nextval('user_ids'::text) PRIMARY KEY,
f5dc2a 19     username character varying(128) DEFAULT ''::character varying NOT NULL,
S 20     mail_host character varying(128) DEFAULT ''::character varying NOT NULL,
42b113 21     alias character varying(128) DEFAULT ''::character varying NOT NULL,
f5dc2a 22     created timestamp with time zone DEFAULT now() NOT NULL,
S 23     last_login timestamp with time zone DEFAULT now() NOT NULL,
24     "language" character varying(5) DEFAULT 'en'::character varying NOT NULL,
25     preferences text DEFAULT ''::text NOT NULL
26 );
27
28
b59474 29   
f5dc2a 30 --
1cded8 31 -- Table "session"
T 32 -- Name: session; Type: TABLE; Schema: public; Owner: postgres
33 --
34
35 CREATE TABLE "session" (
15a9d1 36     sess_id character varying(40) DEFAULT ''::character varying PRIMARY KEY,
1cded8 37     created timestamp with time zone DEFAULT now() NOT NULL,
T 38     changed timestamp with time zone DEFAULT now() NOT NULL,
84d06e 39     ip character varying(41) NOT NULL,
1cded8 40     vars text NOT NULL
T 41 );
42
43
b59474 44
T 45 --
46 -- Sequence "identity_ids"
47 -- Name: identity_ids; Type: SEQUENCE; Schema: public; Owner: postgres
48 --
49
50 CREATE SEQUENCE identity_ids
51     START WITH 1
52     INCREMENT BY 1
53     NO MAXVALUE
54     NO MINVALUE
55     CACHE 1;
1cded8 56
T 57 --
58 -- Table "identities"
59 -- Name: identities; Type: TABLE; Schema: public; Owner: postgres
60 --
61
62 CREATE TABLE identities (
15a9d1 63     identity_id integer DEFAULT nextval('identity_ids'::text) PRIMARY KEY,
T 64     user_id integer NOT NULL REFERENCES users (user_id),
1cded8 65     del integer DEFAULT 0 NOT NULL,
T 66     standard integer DEFAULT 0 NOT NULL,
67     name character varying(128) NOT NULL,
68     organization character varying(128),
69     email character varying(128) NOT NULL,
70     "reply-to" character varying(128),
71     bcc character varying(128),
a0109c 72     signature text,
S 73     html_signature integer DEFAULT 0 NOT NULL
1cded8 74 );
T 75
b59474 76
T 77
78 --
79 -- Sequence "contact_ids"
80 -- Name: contact_ids; Type: SEQUENCE; Schema: public; Owner: postgres
81 --
82
83 CREATE SEQUENCE contact_ids
84     START WITH 1
85     INCREMENT BY 1
86     NO MAXVALUE
87     NO MINVALUE
88     CACHE 1;
1cded8 89
T 90 --
91 -- Table "contacts"
92 -- Name: contacts; Type: TABLE; Schema: public; Owner: postgres
93 --
94
95 CREATE TABLE contacts (
15a9d1 96     contact_id integer DEFAULT nextval('contact_ids'::text) PRIMARY KEY,
T 97     user_id integer NOT NULL REFERENCES users (user_id),
1cded8 98     changed timestamp with time zone DEFAULT now() NOT NULL,
T 99     del integer DEFAULT 0 NOT NULL,
100     name character varying(128) DEFAULT ''::character varying NOT NULL,
101     email character varying(128) DEFAULT ''::character varying NOT NULL,
102     firstname character varying(128) DEFAULT ''::character varying NOT NULL,
103     surname character varying(128) DEFAULT ''::character varying NOT NULL,
104     vcard text
105 );
106
107
108
109 --
b59474 110 -- Sequence "cache_ids"
T 111 -- Name: cache_ids; Type: SEQUENCE; Schema: public; Owner: postgres
112 --
113
114 CREATE SEQUENCE cache_ids
115     INCREMENT BY 1
116     NO MAXVALUE
117     NO MINVALUE
118     CACHE 1;
119
120 --
1cded8 121 -- Table "cache"
T 122 -- Name: cache; Type: TABLE; Schema: public; Owner: postgres
123 --
124
125 CREATE TABLE "cache" (
15a9d1 126     cache_id integer DEFAULT nextval('cache_ids'::text) PRIMARY KEY,
T 127     user_id integer NOT NULL REFERENCES users (user_id),
f88d41 128     session_id character varying(40) REFERENCES "session" (sess_id),
1cded8 129     cache_key character varying(128) DEFAULT ''::character varying NOT NULL,
T 130     created timestamp with time zone DEFAULT now() NOT NULL,
131     data text NOT NULL
132 );
133
ac26b9 134 ALTER TABLE "cache" ADD INDEX (user_id, cache_key);
1cded8 135
T 136 --
b59474 137 -- Sequence "message_ids"
T 138 -- Name: message_ids; Type: SEQUENCE; Schema: public; Owner: postgres
139 --
140
141 CREATE SEQUENCE message_ids
142     INCREMENT BY 1
143     NO MAXVALUE
144     NO MINVALUE
145     CACHE 1;
146
147 --
1cded8 148 -- Table "messages"
T 149 -- Name: messages; Type: TABLE; Schema: public; Owner: postgres
150 --
151
152 CREATE TABLE "messages" (
15a9d1 153     message_id integer DEFAULT nextval('message_ids'::text) PRIMARY KEY,
T 154     user_id integer NOT NULL REFERENCES users (user_id),
1cded8 155     del integer DEFAULT 0 NOT NULL,
T 156     cache_key character varying(128) DEFAULT ''::character varying NOT NULL,
b59474 157     created timestamp with time zone DEFAULT now() NOT NULL,
1cded8 158     idx integer DEFAULT 0 NOT NULL,
T 159     uid integer DEFAULT 0 NOT NULL,
160     subject character varying(128) DEFAULT ''::character varying NOT NULL,
161     "from" character varying(128) DEFAULT ''::character varying NOT NULL,
162     "to" character varying(128) DEFAULT ''::character varying NOT NULL,
163     cc character varying(128) DEFAULT ''::character varying NOT NULL,
164     date timestamp with time zone NOT NULL,
165     size integer DEFAULT 0 NOT NULL,
166     headers text NOT NULL,
f7bfec 167     structure text
1cded8 168 );
T 169
43a42d 170 ALTER TABLE "messages" ADD UNIQUE (user_id, cache_key, uid);