objectManager: Fix lower-case letter in 'email Text'
[NewAppDB.git] / tables / appdb_tables.sql
blobf4813556c9e02e7c0e19f2d9f7c603e14b4cb63f
1 create database if not exists apidb;
3 use apidb;
5 drop table if exists vendor;
6 drop table if exists appFamily;
7 drop table if exists appVersion;
8 drop table if exists appCategory;
9 drop table if exists appHitStats;
10 drop table if exists catHitStats;
11 drop table if exists appComments;
12 drop table if exists appData;
13 drop table if exists appBundle;
14 drop table if exists appVotes;
15 drop table if exists appNotes;
19  * vendor information
20  */
21 create table vendor (
22        vendorId         int not null auto_increment,
23        vendorName       varchar(100) not null,
24        vendorURL        varchar(200),
25        state           enum('accepted','queued','deleted') NOT NULL default 'accepted',
26        key(vendorId)
31  * application
32  */
33 create table appFamily (
34         appId         int not null auto_increment,
35         appName       varchar(100) not null,
36         vendorId      int not null,
37         keywords      text,
38         description   text,
39         webPage       varchar(100),
40         catId         int,
41         submitTime    datetime NOT NULL,
42         submitterId   int(11) NOT NULL default '0',
43         state         enum('accepted','queued','rejected','deleted') NOT NULL default 'accepted',
44         key(appId)
48  * a version of an application
49  */
50 create table appVersion (
51   versionId             int not null auto_increment,
52   appId                 int not null,
53   versionName           varchar(100) not null,
54   description           text,
55   rating                 text,
56   ratingRelease          text,
57   submitTime            datetime NOT NULL,
58   submitterId           int(11) NOT NULL default '0',
59   license               enum('Retail','Open Source','Demo','Shareware','Free to use','Free to use and share'),
60   obsoleteBy            int(11) NOT NULL default '0',
61   state                 enum('accepted','queued','rejected','pending','deleted') NOT NULL default 'accepted',
62   key(versionId),
63   index(appId)
68  * application category
69  */    
70 create table appCategory (
71         catId           int not null auto_increment,
72         catName         varchar(64) not null,
73         catDescription  text,
74         catParent       int default 0,
75         key(catId)
80  * bundleId is the appId of the 'owner app'
81  */
82 create table appBundle (
83   bundleId        int not null,
84   appId           int not null,
85   key(bundleId),
86   index(appId)
91  * appHitStats and catHitStats are to record statistics
92  */
93 create table appHitStats (
94   appHitId  int not null auto_increment,
95   time      datetime,
96   ip        varchar(16),
97   appId     int not null,       
98   count     int,
99   key(appHitId)
102 create table catHitStats (
103   catHitId  int not null auto_increment,
104   time      datetime,
105   ip        varchar(16),
106   catId     int not null,
107   count     int,
108   key(catHitId)
113  * user comments
114  */
115 create table appComments (
116   time        datetime,
117   commentId   int not null auto_increment,
118   parentId    int default 0,
119   versionId   int not null,
120   userId      int,
121   hostname    varchar(80),
122   subject     varchar(128),
123   body        text,
124   key(commentId),
125   index(versionId)
131  * links to screenshots and other stuff
132  */
133 create table appData (
134         id              int not null auto_increment,
135         appId           int not null,
136         versionId       int default 0,
137         type            enum('screenshot', 'url', 'bug','downloadurl'),
138         description     text,
139         url             varchar(255) default NULL,
140         submitTime      datetime NOT NULL,
141         submitterId     int(11) NOT NULL default '0',
142         state           enum('accepted','queued','rejected') NOT NULL default 'accepted',
143         KEY id (id),
144         KEY versionId (versionId)
148  * allow users to vote for apps, as in, request that an app gets better support
149  */
150 create table appVotes (
151         id              int not null auto_increment,
152         time            datetime,
153         versionId       int not null,
154         userId          int not null,
155         slot            int not null,
156         key(id),
157         index(versionId),
158         index(userId)
163  * application notes
164  */
165 create table appNotes (
166         noteId          int not null auto_increment,
167         noteTitle       varchar(255),
168         noteDesc        text,
169         versionId       int not null,
170         submitterId     int not null,
171         submitTime      datetime not null,
172         key(noteId)