1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161
|
-- Database Schema for PostgreSQL
--
-- Table structure for attr_types
--
CREATE TABLE {attr_types} (
attr_id serial,
type_id integer NOT NULL default '0',
attr_name varchar(40) NOT NULL default '',
attr_def text NOT NULL,
PRIMARY KEY (attr_id)
);
CREATE INDEX {attr_types}_type_idx ON {attr_types}(type_id);
--
-- Table structure for attr_values
--
CREATE TABLE {attr_values} (
issue_id integer NOT NULL default '0',
attr_id integer NOT NULL default '0',
attr_value varchar(80) NOT NULL default '',
PRIMARY KEY (issue_id, attr_id)
);
--
-- Table structure for changes
--
CREATE TABLE {changes} (
change_id integer NOT NULL default '0',
issue_id integer NOT NULL default '0',
attr_id integer NOT NULL default '0',
value_old varchar(80) NOT NULL default '',
value_new varchar(80) NOT NULL default '',
PRIMARY KEY (change_id)
);
CREATE INDEX {changes}_issue_idx ON {changes}(issue_id);
--
-- Table structure for comments
--
CREATE TABLE {comments} (
comment_id integer NOT NULL default '0',
issue_id integer NOT NULL default '0',
comment_text text NOT NULL,
PRIMARY KEY (comment_id)
);
CREATE INDEX {comments}_issue_idx ON {comments}(issue_id);
--
-- Table structure for files
--
CREATE TABLE {files} (
file_id integer NOT NULL default '0',
issue_id integer NOT NULL default '0',
file_name varchar(40) NOT NULL default '',
file_size integer NOT NULL default '0',
file_data bytea,
file_descr varchar(80) NOT NULL default '',
file_storage smallint NOT NULL default '0',
PRIMARY KEY (file_id)
);
CREATE INDEX {files}_issue_idx ON {files}(issue_id);
--
-- Table structure for folders
--
CREATE TABLE {folders} (
folder_id serial,
project_id integer NOT NULL default '0',
type_id integer NOT NULL default '0',
folder_name varchar(40) NOT NULL default '',
stamp_id integer NOT NULL default '0',
PRIMARY KEY (folder_id)
);
CREATE INDEX {folders}_project_idx ON {folders}(project_id);
--
-- Table structure for issue_types
--
CREATE TABLE {issue_types} (
type_id serial,
type_name varchar(40) NOT NULL default '',
PRIMARY KEY (type_id)
);
--
-- Table structure for issues
--
CREATE TABLE {issues} (
issue_id integer NOT NULL default '0',
folder_id integer NOT NULL default '0',
issue_name varchar(80) NOT NULL default '',
stamp_id integer NOT NULL default '0',
PRIMARY KEY (issue_id)
);
CREATE INDEX {issues}_folder_idx ON {issues}(folder_id);
--
-- Table structure for projects
--
CREATE TABLE {projects} (
project_id serial,
project_name varchar(40) NOT NULL default '',
PRIMARY KEY (project_id)
);
--
-- Table structure for rights
--
CREATE TABLE {rights} (
project_id integer NOT NULL default '0',
user_id integer NOT NULL default '0',
project_access smallint NOT NULL default '0',
PRIMARY KEY (project_id, user_id)
);
CREATE INDEX {rights}_user_idx ON {rights}(user_id);
--
-- Table structure for server
--
CREATE TABLE {server} (
server_name varchar(40) NOT NULL default '',
server_uuid char(36) NOT NULL default '',
db_version varchar(10) NOT NULL default ''
);
--
-- Table structure for stamps
--
CREATE TABLE {stamps} (
stamp_id serial,
user_id integer NOT NULL default '0',
stamp_time integer NOT NULL default '0',
PRIMARY KEY (stamp_id)
);
--
-- Table structure for users
--
CREATE TABLE {users} (
user_id serial,
user_login varchar(40) NOT NULL default '',
user_name varchar(40) NOT NULL default '',
user_passwd char(32) NOT NULL default '',
user_access smallint NOT NULL default '0',
PRIMARY KEY (user_id),
UNIQUE (user_login)
);
|