]> git.sesse.net Git - pr0n/blob - pr0n.sql
9d1f9374d3bae4e86a9fbd92dfa288d17cfb8c77
[pr0n] / 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 );
7
8 -- In a separate table to avoid deadlocks.
9 CREATE TABLE last_picture_cache ( 
10    event varchar PRIMARY KEY references events ( id ),
11    last_picture timestamp without time zone
12 );
13
14 CREATE TABLE images (
15     id serial NOT NULL PRIMARY KEY REFERENCES events(id),
16     event character varying NOT NULL,
17     filename character varying NOT NULL,
18     width integer DEFAULT -1 NOT NULL,
19     height integer DEFAULT -1 NOT NULL,
20     uploadedby character varying NOT NULL,
21     date timestamp without time zone,
22     takenby character varying NOT NULL,
23     selected boolean DEFAULT false
24 );
25 CREATE UNIQUE INDEX unique_filenames ON images USING btree (event, filename);
26
27 CREATE TABLE deleted_images (
28     id integer NOT NULL,
29     event character varying(32) NOT NULL,
30     filename character varying(255) NOT NULL,
31     width integer DEFAULT -1 NOT NULL,
32     height integer DEFAULT -1 NOT NULL,
33     uploadedby character varying(32),
34     date timestamp without time zone,
35     takenby character varying(32) NOT NULL,
36     selected boolean
37 );
38
39 CREATE TABLE fake_files (
40     event character varying(32) NOT NULL REFERENCES events(id),
41     filename character varying(255) NOT NULL,
42     expires_at timestamp without time zone NOT NULL,
43
44     PRIMARY KEY ( event, filename )
45 );
46
47 CREATE TABLE shadow_files (
48     event character varying(32) NOT NULL,
49     filename character varying(255) NOT NULL,
50     id integer NOT NULL,
51     expires_at timestamp without time zone NOT NULL
52 );
53
54 CREATE TABLE users (
55     username character varying(32) NOT NULL,
56     sha1password character(28) NOT NULL,
57     vhost character varying(32) NOT NULL
58 );
59
60 GRANT INSERT ON TABLE deleted_images TO pr0n;
61 GRANT INSERT,SELECT,UPDATE,DELETE ON TABLE events TO pr0n;
62 GRANT INSERT,SELECT,UPDATE,DELETE ON TABLE fake_files TO pr0n;
63 GRANT INSERT,SELECT,UPDATE ON TABLE imageid_seq TO pr0n;
64 GRANT INSERT,SELECT,UPDATE,DELETE ON TABLE images TO pr0n;
65 GRANT INSERT,SELECT,UPDATE,DELETE ON TABLE shadow_files TO pr0n;
66 GRANT SELECT ON TABLE users TO pr0n;
67