You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
224 lines
5.4 KiB
SQL
224 lines
5.4 KiB
SQL
--
|
|
-- Table "users"
|
|
-- Name: users; Type: TABLE; Schema: public; Owner: postgres
|
|
--
|
|
|
|
CREATE TABLE users (
|
|
user_id integer DEFAULT nextval('user_ids'::text) NOT NULL,
|
|
username character varying(128) DEFAULT ''::character varying NOT NULL,
|
|
mail_host character varying(128) DEFAULT ''::character varying NOT NULL,
|
|
alias character varying(128) DEFAULT ''::character varying NOT NULL,
|
|
created timestamp with time zone DEFAULT now() NOT NULL,
|
|
last_login timestamp with time zone DEFAULT now() NOT NULL,
|
|
"language" character varying(5) DEFAULT 'en'::character varying NOT NULL,
|
|
preferences text DEFAULT ''::text NOT NULL
|
|
);
|
|
|
|
|
|
|
|
--
|
|
-- Table "session"
|
|
-- Name: session; Type: TABLE; Schema: public; Owner: postgres
|
|
--
|
|
|
|
CREATE TABLE "session" (
|
|
sess_id character varying(40) DEFAULT ''::character varying NOT NULL,
|
|
created timestamp with time zone DEFAULT now() NOT NULL,
|
|
changed timestamp with time zone DEFAULT now() NOT NULL,
|
|
ip character varying(16) NOT NULL,
|
|
vars text NOT NULL
|
|
);
|
|
|
|
|
|
|
|
--
|
|
-- Table "identities"
|
|
-- Name: identities; Type: TABLE; Schema: public; Owner: postgres
|
|
--
|
|
|
|
CREATE TABLE identities (
|
|
identity_id integer DEFAULT nextval('identity_ids'::text) NOT NULL,
|
|
user_id integer DEFAULT 0 NOT NULL,
|
|
del integer DEFAULT 0 NOT NULL,
|
|
standard integer DEFAULT 0 NOT NULL,
|
|
name character varying(128) NOT NULL,
|
|
organization character varying(128),
|
|
email character varying(128) NOT NULL,
|
|
"reply-to" character varying(128),
|
|
bcc character varying(128),
|
|
signature text
|
|
);
|
|
|
|
|
|
--
|
|
-- Table "contacts"
|
|
-- Name: contacts; Type: TABLE; Schema: public; Owner: postgres
|
|
--
|
|
|
|
CREATE TABLE contacts (
|
|
contact_id integer DEFAULT nextval('contact_ids'::text) NOT NULL,
|
|
user_id integer DEFAULT 0 NOT NULL,
|
|
changed timestamp with time zone DEFAULT now() NOT NULL,
|
|
del integer DEFAULT 0 NOT NULL,
|
|
name character varying(128) DEFAULT ''::character varying NOT NULL,
|
|
email character varying(128) DEFAULT ''::character varying NOT NULL,
|
|
firstname character varying(128) DEFAULT ''::character varying NOT NULL,
|
|
surname character varying(128) DEFAULT ''::character varying NOT NULL,
|
|
vcard text
|
|
);
|
|
|
|
|
|
|
|
--
|
|
-- Table "cache"
|
|
-- Name: cache; Type: TABLE; Schema: public; Owner: postgres
|
|
--
|
|
|
|
CREATE TABLE "cache" (
|
|
cache_id integer DEFAULT nextval('cache_ids'::text) NOT NULL,
|
|
user_id integer DEFAULT 0 NOT NULL,
|
|
session_id character varying(40),
|
|
cache_key character varying(128) DEFAULT ''::character varying NOT NULL,
|
|
created timestamp with time zone DEFAULT now() NOT NULL,
|
|
data text NOT NULL
|
|
);
|
|
|
|
|
|
|
|
--
|
|
-- Table "messages"
|
|
-- Name: messages; Type: TABLE; Schema: public; Owner: postgres
|
|
--
|
|
|
|
CREATE TABLE "messages" (
|
|
message_id integer DEFAULT nextval('message_ids'::text) NOT NULL,
|
|
user_id integer DEFAULT 0 NOT NULL,
|
|
del integer DEFAULT 0 NOT NULL,
|
|
cache_key character varying(128) DEFAULT ''::character varying NOT NULL,
|
|
idx integer DEFAULT 0 NOT NULL,
|
|
uid integer DEFAULT 0 NOT NULL,
|
|
subject character varying(128) DEFAULT ''::character varying NOT NULL,
|
|
"from" character varying(128) DEFAULT ''::character varying NOT NULL,
|
|
"to" character varying(128) DEFAULT ''::character varying NOT NULL,
|
|
cc character varying(128) DEFAULT ''::character varying NOT NULL,
|
|
date timestamp with time zone NOT NULL,
|
|
size integer DEFAULT 0 NOT NULL,
|
|
headers text NOT NULL,
|
|
body text
|
|
);
|
|
|
|
|
|
|
|
--
|
|
-- Add primary keys
|
|
--
|
|
|
|
ALTER TABLE ONLY "cache"
|
|
ADD CONSTRAINT cache_pkey PRIMARY KEY (cache_id);
|
|
|
|
|
|
ALTER TABLE ONLY "contacts"
|
|
ADD CONSTRAINT contacts_pkey PRIMARY KEY (contact_id);
|
|
|
|
|
|
ALTER TABLE ONLY identities
|
|
ADD CONSTRAINT identities_pkey PRIMARY KEY (identity_id);
|
|
|
|
|
|
ALTER TABLE ONLY "session"
|
|
ADD CONSTRAINT session_pkey PRIMARY KEY (sess_id);
|
|
|
|
|
|
ALTER TABLE ONLY "users"
|
|
ADD CONSTRAINT users_pkey PRIMARY KEY (user_id);
|
|
|
|
|
|
ALTER TABLE ONLY "messages"
|
|
ADD CONSTRAINT messages_pkey PRIMARY KEY (message_id);
|
|
|
|
|
|
--
|
|
-- Reference keys
|
|
--
|
|
|
|
ALTER TABLE ONLY "cache"
|
|
ADD CONSTRAINT "$1" FOREIGN KEY (user_id) REFERENCES users(user_id);
|
|
|
|
ALTER TABLE ONLY "cache"
|
|
ADD CONSTRAINT "$2" FOREIGN KEY (session_id) REFERENCES "session"(sess_id);
|
|
|
|
|
|
ALTER TABLE ONLY "contacts"
|
|
ADD CONSTRAINT "$1" FOREIGN KEY (user_id) REFERENCES users(user_id);
|
|
|
|
|
|
ALTER TABLE ONLY "identities"
|
|
ADD CONSTRAINT "$1" FOREIGN KEY (user_id) REFERENCES users(user_id);
|
|
|
|
|
|
ALTER TABLE ONLY "messages"
|
|
ADD CONSTRAINT "$1" FOREIGN KEY (user_id) REFERENCES users(user_id);
|
|
|
|
|
|
--
|
|
-- Sequence "cache_ids"
|
|
-- Name: cache_ids; Type: SEQUENCE; Schema: public; Owner: postgres
|
|
--
|
|
|
|
CREATE SEQUENCE cache_ids
|
|
INCREMENT BY 1
|
|
NO MAXVALUE
|
|
NO MINVALUE
|
|
CACHE 1;
|
|
|
|
|
|
--
|
|
-- Sequence "contact_ids"
|
|
-- Name: contact_ids; Type: SEQUENCE; Schema: public; Owner: postgres
|
|
--
|
|
|
|
CREATE SEQUENCE contact_ids
|
|
START WITH 1
|
|
INCREMENT BY 1
|
|
NO MAXVALUE
|
|
NO MINVALUE
|
|
CACHE 1;
|
|
|
|
|
|
--
|
|
-- Sequence "identity_ids"
|
|
-- Name: identity_ids; Type: SEQUENCE; Schema: public; Owner: postgres
|
|
--
|
|
|
|
CREATE SEQUENCE identity_ids
|
|
START WITH 1
|
|
INCREMENT BY 1
|
|
NO MAXVALUE
|
|
NO MINVALUE
|
|
CACHE 1;
|
|
|
|
|
|
--
|
|
-- Sequence "user_ids"
|
|
-- Name: user_ids; Type: SEQUENCE; Schema: public; Owner: postgres
|
|
--
|
|
|
|
CREATE SEQUENCE user_ids
|
|
INCREMENT BY 1
|
|
NO MAXVALUE
|
|
NO MINVALUE
|
|
CACHE 1;
|
|
|
|
|
|
--
|
|
-- Sequence "message_ids"
|
|
-- Name: message_ids; Type: SEQUENCE; Schema: public; Owner: postgres
|
|
--
|
|
|
|
CREATE SEQUENCE message_ids
|
|
INCREMENT BY 1
|
|
NO MAXVALUE
|
|
NO MINVALUE
|
|
CACHE 1;
|
|
|