]> git.donarmstrong.com Git - wannabuild.git/blob - schema/arches-tables.in
Auto-committed schema changes.
[wannabuild.git] / schema / arches-tables.in
1 drop schema "ARCH" cascade;
2 drop schema "ARCH_public" cascade;
3 create schema "ARCH";
4 create schema "ARCH_public";
5
6 grant usage on schema "ARCH" to "ARCH", wb_all;
7 grant usage on schema "ARCH_public" to "ARCH", public;
8 grant usage on schema "ARCH" to wb_security;
9
10 create table "ARCH".packages
11 (
12     package character varying NOT NULL,
13     distribution character varying NOT NULL,
14     version character varying,
15     state character varying,
16     section character varying,
17     priority character varying,
18     installed_version character varying,
19     previous_state character varying,
20     state_change timestamp without time zone,
21     notes character varying,
22     builder character varying,
23     failed text,
24     old_failed text,
25     binary_nmu_version integer,
26     binary_nmu_changelog character varying,
27     failed_category character varying,
28     permbuildpri integer,
29     buildpri integer,
30     depends character varying,
31     rel character varying,
32     bd_problem text,
33     primary key (package, distribution),
34     extra_depends character varying,
35     extra_conflicts character varying
36 );
37
38 create index "idx_ARCH_state" on "ARCH".packages (state);
39
40 create table "ARCH".users
41 (
42         username varchar,
43         distribution varchar,
44         last_seen timestamp,
45         primary key (username, distribution)
46 );
47
48 create table "ARCH".transactions
49 (
50         package varchar,
51         distribution varchar,
52         version varchar,
53         action varchar,
54         prevstate varchar,
55         state varchar,
56         real_user varchar,
57         set_user varchar,
58         time timestamp
59 );
60
61 CREATE TABLE "ARCH".pkg_history (
62     package character varying NOT NULL,
63     distribution character varying NOT NULL,
64     version character varying NOT NULL,
65     "timestamp" timestamp without time zone NOT NULL,
66     result character varying NOT NULL,
67     build_time integer,
68     disk_space bigint,
69     primary key (package, distribution, version, "timestamp")
70 );
71
72 create index pkg_history_index on "ARCH".pkg_history (package, distribution, timestamp desc, result);
73
74 grant all on "ARCH".packages to "ARCH";
75 grant all on "ARCH".users to "ARCH";
76 grant insert, select on "ARCH".transactions to "ARCH";
77 grant all on table "ARCH".pkg_history TO "ARCH";
78
79 grant select on "ARCH".packages to wb_security;
80 grant select on "ARCH".transactions to wb_security;
81 grant select on "ARCH".pkg_history TO wb_security;
82
83 create view "ARCH_public".packages as select * from "ARCH".packages where distribution not like '%-security';
84 create view "ARCH_public".users as select * from "ARCH".users where distribution not like '%-security';
85 create view "ARCH_public".transactions as select * from "ARCH".transactions where distribution not like '%-security';
86 create view "ARCH_public".pkg_history as select * from "ARCH".pkg_history where distribution not like '%-security';
87
88 grant select on "ARCH_public".packages to public;
89 grant select on "ARCH_public".users to public;
90 grant select on "ARCH_public".transactions to public;
91 grant select on "ARCH_public".pkg_history to public;
92