Add SQL schema.
[pr0n] / sql / pr0n.sql
1 CREATE TABLE events (
2     id character varying NOT NULL PRIMARY KEY,
3     date character varying NOT NULL,
4     name character varying NOT NULL,
5     vhost character varying NOT NULL,
6     last_picture timestamp without time zone DEFAULT '1970-01-01 00:00:00'::timestamp without time zone NOT NULL
7 );
8
9 CREATE TABLE images (
10     id integer serial NOT NULL PRIMARY KEY REFERENCES events(id),
11     event character varying NOT NULL,
12     filename character varying NOT NULL,
13     width integer DEFAULT -1 NOT NULL,
14     height integer DEFAULT -1 NOT NULL,
15     uploadedby character varying NOT NULL,
16     date timestamp without time zone,
17     takenby character varying NOT NULL,
18     selected boolean DEFAULT false
19 );
20 CREATE UNIQUE INDEX unique_filenames ON images USING btree (event, filename);
21
22 CREATE TABLE deleted_images (
23     id integer NOT NULL,
24     event character varying(32) NOT NULL,
25     filename character varying(255) NOT NULL,
26     width integer DEFAULT -1 NOT NULL,
27     height integer DEFAULT -1 NOT NULL,
28     uploadedby character varying(32),
29     date timestamp without time zone,
30     takenby character varying(32) NOT NULL,
31     selected boolean
32 );
33
34 CREATE TABLE fake_files (
35     event character varying(32) NOT NULL REFERENCES events(id),
36     filename character varying(255) NOT NULL,
37     expires_at timestamp without time zone NOT NULL,
38
39     PRIMARY KEY ( event, filename )
40 );
41
42 CREATE TABLE shadow_files (
43     event character varying(32) NOT NULL,
44     filename character varying(255) NOT NULL,
45     id integer NOT NULL,
46     expires_at timestamp without time zone NOT NULL
47 );
48
49 CREATE TABLE users (
50     username character varying(32) NOT NULL,
51     sha1password character(28) NOT NULL,
52     vhost character varying(32) NOT NULL
53 );
54
55 GRANT INSERT ON TABLE deleted_images TO pr0n;
56 GRANT INSERT,SELECT,UPDATE,DELETE ON TABLE events TO pr0n;
57 GRANT INSERT,SELECT,UPDATE,DELETE ON TABLE fake_files TO pr0n;
58 GRANT INSERT,SELECT,UPDATE ON TABLE imageid_seq TO pr0n;
59 GRANT INSERT,SELECT,UPDATE,DELETE ON TABLE images TO pr0n;
60 GRANT INSERT,SELECT,UPDATE,DELETE ON TABLE shadow_files TO pr0n;
61 GRANT SELECT ON TABLE users TO pr0n;
62