- Sync database

This commit is contained in:
Alejandro Leiva
2008-11-06 14:53:26 +00:00
parent 03d7af093f
commit 99d87e9a83
21 changed files with 360 additions and 199 deletions

View File

@@ -18,22 +18,24 @@
#
TABLE_FILES=\
aggregated_package_stats.sql \
bugs.sql \
cvs_acl.sql \
cvs_groups.sql \
cvs_group_membership.sql \
downloads.sql \
files.sql \
karma.sql \
package_acl.sql \
maintains.sql \
categories.sql \
packages.sql \
package_stats.sql \
provides.sql \
package_aliases.sql \
package_proposals.sql \
releases.sql \
deps.sql \
notes.sql \
users.sql \
# state_order.sql
users.sql
SQL_TYPE=mysql
SQL_USER=pear
SQL_PW=pear

View File

@@ -44,6 +44,7 @@ foreach (explode("\n", $packages) as $line) {
$catid = $catmap[$category];
}
package::add(array('name' => $name,
'type' => 'pear',
'license' => 'PEAR License',
'description' => '',
'summary' => $summary,

View File

@@ -1,14 +1,15 @@
-- COLUMN REFERENCES
--
-- package_id packages(id)
-- release_id releases(id)
-- Table structure for table `aggregated_package_stats`
--
CREATE TABLE aggregated_package_stats (
package_id int(11) NOT NULL default '0',
release_id int(11) NOT NULL default '0',
yearmonth date NOT NULL default '0000-00-00',
downloads int(10) unsigned NOT NULL default '0',
PRIMARY KEY (release_id,yearmonth),
KEY package_id (package_id),
KEY downloads (downloads)
)
DROP TABLE IF EXISTS `aggregated_package_stats`;
CREATE TABLE `aggregated_package_stats` (
`package_id` int(11) NOT NULL default '0',
`release_id` int(11) NOT NULL default '0',
`yearmonth` date NOT NULL default '0000-00-00',
`downloads` int(10) unsigned NOT NULL default '0',
PRIMARY KEY (`release_id`,`yearmonth`),
KEY `package_id` (`package_id`),
KEY `downloads` (`downloads`)
)

View File

@@ -1,48 +1,68 @@
# MySQL dump 4.0
#
# Host: localhost Database: php3
#--------------------------------------------------------
DROP table IF EXISTS bugdb;
--
-- Table structure for table `bugdb`
--
CREATE TABLE bugdb (
id int(8) NOT NULL AUTO_INCREMENT,
bug_type char(32),
email varchar(40) NOT NULL,
sdesc varchar(80) NOT NULL,
ldesc text NOT NULL,
php_version char(100),
php_os varchar(32),
status varchar(16),
ts1 datetime, # bug created date
ts2 datetime, # bug last updated date
assign varchar(16),
passwd varchar(20),# user password
PRIMARY KEY (id),
INDEX (php_version(1)),
FULLTEXT (email,sdesc,ldesc)
DROP TABLE IF EXISTS `bugdb`;
CREATE TABLE `bugdb` (
`id` int(8) NOT NULL auto_increment,
`package_name` varchar(80) default NULL,
`bug_type` varchar(32) NOT NULL default 'Bug',
`email` varchar(40) NOT NULL default '',
`sdesc` varchar(80) NOT NULL default '',
`ldesc` text NOT NULL,
`php_version` varchar(100) default NULL,
`php_os` varchar(32) default NULL,
`status` varchar(16) default NULL,
`ts1` datetime default NULL,
`ts2` datetime default NULL,
`assign` varchar(20) default NULL,
`passwd` varchar(20) default NULL,
`duplicate_of` int(8) unsigned NOT NULL default '0',
`package_version` varchar(100) default NULL,
`reporter_name` varchar(80) default NULL,
`handle` varchar(20) NOT NULL default '',
`registered` tinyint(1) NOT NULL default '0',
PRIMARY KEY (`id`),
INDEX (`php_version`(1)),
INDEX (`duplicate_of`),
INDEX (`package_version`(1)),
INDEX (`package_name`),
FULLTEXT KEY `email` (`email`,`sdesc`,`ldesc`)
);
DROP TABLE IF EXISTS bugdb_comments;
--
-- Table structure for table `bugdb_comments`
--
CREATE TABLE bugdb_comments (
id int(8) NOT NULL AUTO_INCREMENT,
bug int(8) NOT NULL,
email varchar(40) NOT NULL,
ts datetime NOT NULL,
comment text NOT NULL,
PRIMARY KEY (id),
FULLTEXT (comment)
DROP TABLE IF EXISTS `bugdb_comments`;
CREATE TABLE `bugdb_comments` (
`id` int(8) NOT NULL auto_increment,
`bug` int(8) NOT NULL default '0',
`email` varchar(40) NOT NULL default '',
`ts` datetime NOT NULL default '0000-00-00 00:00:00',
`comment` text NOT NULL,
`reporter_name` varchar(80) default NULL,
`handle` varchar(20) NOT NULL default '',
PRIMARY KEY (`id`),
INDEX (`bug`,`id`,`ts`),
FULLTEXT KEY `comment` (`comment`)
);
DROP TABLE IF EXISTS bugdb_votes;
--
-- Table structure for table `bugdb_votes`
--
CREATE TABLE bugdb_votes (
bug int(8) NOT NULL,
ts timestamp NOT NULL,
ip int unsigned NOT NULL,
score int(3) NOT NULL, /* 1-5 */
reproduced int(1) NOT NULL,
tried int(1) NOT NULL,
sameos int(1),
samever int(1)
DROP TABLE IF EXISTS `bugdb_votes`;
CREATE TABLE `bugdb_votes` (
`bug` int(8) NOT NULL default '0',
`ts` timestamp NOT NULL,
`ip` int(10) unsigned NOT NULL default '0',
`score` int(3) NOT NULL default '0', /* 1-5 */
`reproduced` int(1) NOT NULL default '0',
`tried` int(1) NOT NULL default '0',
`sameos` int(1) default NULL,
`samever` int(1) default NULL
);

View File

@@ -1,15 +1,20 @@
CREATE TABLE categories (
id INTEGER NOT NULL,
parent INTEGER,
name VARCHAR(80) NOT NULL,
summary TEXT,
description TEXT,
npackages INTEGER DEFAULT 0,
pkg_left INTEGER,
pkg_right INTEGER,
cat_left INTEGER,
cat_right INTEGER,
--
-- Table structure for table `categories`
--
PRIMARY KEY(id),
UNIQUE INDEX(name)
DROP TABLE IF EXISTS `categories`;
CREATE TABLE `categories` (
`id` int(11) NOT NULL default '0',
`parent` int(11) default NULL,
`name` varchar(80) NOT NULL default '',
`summary` text,
`description` text,
`npackages` int(11) default '0',
`pkg_left` int(11) default NULL,
`pkg_right` int(11) default NULL,
`cat_left` int(11) default NULL,
`cat_right` int(11) default NULL,
PRIMARY KEY (`id`),
UNIQUE INDEX (`name`)
);

View File

@@ -1,8 +1,13 @@
CREATE TABLE cvs_acl (
username VARCHAR(20), -- NOT NULL REFERENCES users(handle),
usertype ENUM('user','group') NOT NULL DEFAULT 'user',
path VARCHAR(250) NOT NULL,
access BOOL,
--
-- Table structure for table `cvs_acl`
--
UNIQUE INDEX(username,path)
DROP TABLE IF EXISTS `cvs_acl`;
CREATE TABLE `cvs_acl` (
`username` varchar(20) default NULL,
`usertype` enum('user','group') NOT NULL default 'user',
`path` varchar(250) NOT NULL default '',
`access` tinyint(1) default NULL,
UNIQUE INDEX (`username`,`path`)
);

View File

@@ -1,8 +1,13 @@
CREATE TABLE cvs_group_membership (
groupname VARCHAR(20) NOT NULL REFERENCES cvs_groups(name),
username VARCHAR(20) NOT NULL REFERENCES users(handle),
granted_when DATETIME,
granted_by VARCHAR(20) NOT NULL REFERENCES users(handle),
--
-- Table structure for table `cvs_group_membership`
--
UNIQUE INDEX(groupname, username)
DROP TABLE IF EXISTS `cvs_group_membership`;
CREATE TABLE `cvs_group_membership` (
`groupname` varchar(20) NOT NULL default '',
`username` varchar(20) NOT NULL default '',
`granted_when` datetime default NULL,
`granted_by` varchar(20) NOT NULL default '',
UNIQUE INDEX (`groupname`,`username`)
);

View File

@@ -1,6 +1,11 @@
CREATE TABLE cvs_groups (
groupname VARCHAR(20) NOT NULL,
description VARCHAR(250) NOT NULL,
--
-- Table structure for table `cvs_groups`
--
UNIQUE INDEX(groupname)
DROP TABLE IF EXISTS `cvs_groups`;
CREATE TABLE `cvs_groups` (
`groupname` varchar(20) NOT NULL default '',
`description` varchar(250) NOT NULL default '',
UNIQUE INDEX (`groupname`)
);

View File

@@ -1,10 +1,18 @@
CREATE TABLE deps (
package varchar(80) NOT NULL REFERENCES packages(id),
release varchar(20) NOT NULL REFERENCES releases(id),
type ENUM('pkg','ext','php','prog','ldlib','rtlib','os','websrv','nsapi') NOT NULL,
relation ENUM('has', 'eq', 'lt', 'le', 'gt', 'ge') DEFAULT 'has',
version varchar(20),
name varchar(100),
INDEX (release),
INDEX (package,version)
--
-- Table structure for table `deps`
--
DROP TABLE IF EXISTS `deps`;
CREATE TABLE `deps` (
`package` varchar(80) NOT NULL default '',
`release` varchar(20) NOT NULL default '',
`type` varchar(6) NOT NULL default '',
`relation` varchar(6) NOT NULL default '',
`version` varchar(20) default NULL,
`name` varchar(100) NOT NULL default '',
`optional` tinyint(4) NOT NULL default '0',
INDEX (`release`),
INDEX (`package`,`version`),
INDEX (`package`,`optional`)
);

View File

@@ -1,12 +1,19 @@
CREATE TABLE files (
id INTEGER NOT NULL,
package INTEGER NOT NULL REFERENCES packages(id),
release INTEGER NOT NULL REFERENCES releases(id),
platform VARCHAR(50),
format VARCHAR(50),
md5sum VARCHAR(32),
basename VARCHAR(100),
fullpath VARCHAR(250),
--
-- Table structure for table `files`
--
PRIMARY KEY(id)
DROP TABLE IF EXISTS `files`;
CREATE TABLE `files` (
`id` int(11) NOT NULL default '0',
`package` int(11) NOT NULL default '0',
`release` int(11) NOT NULL default '0',
`platform` varchar(50) default NULL,
`format` varchar(50) default NULL,
`md5sum` varchar(32) default NULL,
`basename` varchar(100) default NULL,
`fullpath` varchar(250) default NULL,
`packagexml` longtext NOT NULL,
PRIMARY KEY (`id`),
UNIQUE INDEX (`package`,`release`,`platform`)
);

16
sql/karma.sql Normal file
View File

@@ -0,0 +1,16 @@
--
-- Table structure for table `karma`
--
DROP TABLE IF EXISTS `karma`;
CREATE TABLE `karma` (
`id` int(10) unsigned NOT NULL default '0',
`user` varchar(20) NOT NULL default '',
`level` varchar(20) NOT NULL default '',
`granted_by` varchar(20) NOT NULL default '',
`granted_at` datetime NOT NULL default '0000-00-00 00:00:00',
PRIMARY KEY (`id`),
INDEX (`user`),
INDEX (`level`)
);

View File

@@ -1,7 +1,13 @@
CREATE TABLE maintains (
handle VARCHAR(20) NOT NULL REFERENCES users(handle),
package INTEGER NOT NULL REFERENCES packages(id),
role ENUM('lead', 'developer', 'contributor', 'helper') NOT NULL,
--
-- Table structure for table `maintains`
--
PRIMARY KEY(handle,package)
DROP TABLE IF EXISTS `maintains`;
CREATE TABLE `maintains` (
`handle` varchar(20) NOT NULL default '',
`package` int(11) NOT NULL default '0',
`role` enum('lead','developer','contributor','helper') NOT NULL default 'lead',
`active` tinyint(4) NOT NULL default '1',
PRIMARY KEY (`handle`,`package`)
);

View File

@@ -1,14 +1,19 @@
CREATE TABLE notes (
id INTEGER NOT NULL,
uid VARCHAR(20), -- REFERENCES users(handle),
pid INTEGER, -- REFERENCES packages(id),
rid INTEGER, -- REFERENCES releases(id),
cid INTEGER, -- REFERENCES categories(id),
nby VARCHAR(20) REFERENCES users(handle),
ntime DATETIME,
note TEXT,
--
-- Table structure for table `notes`
--
PRIMARY KEY(id),
INDEX(uid),
INDEX(pid)
DROP TABLE IF EXISTS `notes`;
CREATE TABLE `notes` (
`id` int(11) NOT NULL default '0',
`uid` varchar(20) default NULL, -- REFERENCES users(handle),
`pid` int(11) default NULL, -- REFERENCES packages(id),
`rid` int(11) default NULL, -- REFERENCES releases(id),
`cid` int(11) default NULL, -- REFERENCES categories(id),
`nby` varchar(20) default NULL, -- REFERENCES users(handle),
`ntime` datetime default NULL,
`note` text,
PRIMARY KEY (`id`),
INDEX (`uid`),
INDEX (`pid`)
);

View File

@@ -1,7 +1,12 @@
CREATE TABLE package_acl (
handle VARCHAR(20) NOT NULL REFERENCES users(handle),
package VARCHAR(80) NOT NULL REFERENCES packages(name),
access INTEGER,
--
-- Table structure for table `package_acl`
--
UNIQUE INDEX(handle,package)
DROP TABLE IF EXISTS `package_acl`;
CREATE TABLE `package_acl` (
`handle` varchar(20) NOT NULL default '',
`package` varchar(80) NOT NULL default '',
`access` int(11) default NULL,
UNIQUE INDEX (`handle`,`package`)
);

View File

@@ -1,6 +1,12 @@
--
-- Table structure for table `package_aliases`
--
DROP TABLE IF EXISTS `package_aliases`;
CREATE TABLE `package_aliases` (
`package_id` int(11) NOT NULL,
`alias_name` varchar(80) NOT NULL,
`package_id` int(11) NOT NULL default '0',
`alias_name` varchar(80) NOT NULL default '',
PRIMARY KEY (`package_id`,`alias_name`),
KEY `alias_name` (`alias_name`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
);

23
sql/package_proposals.sql Normal file
View File

@@ -0,0 +1,23 @@
--
-- Table structure for table `package_proposals`
--
DROP TABLE IF EXISTS `package_proposals`;
CREATE TABLE `package_proposals` (
`id` int(11) NOT NULL auto_increment,
`pkg_category` varchar(80) NOT NULL default '',
`pkg_name` varchar(80) NOT NULL default '',
`pkg_license` varchar(100) NOT NULL default '',
`pkg_describtion` text NOT NULL,
`pkg_deps` text NOT NULL,
`draft_date` datetime NOT NULL default '0000-00-00 00:00:00',
`proposal_date` datetime NOT NULL default '0000-00-00 00:00:00',
`vote_date` datetime NOT NULL default '0000-00-00 00:00:00',
`longened_date` datetime NOT NULL default '0000-00-00 00:00:00',
`status` enum('draft','proposal','vote','finished') NOT NULL default 'draft',
`user_handle` varchar(255) NOT NULL default '',
`markup` enum('bbcode','wiki') NOT NULL default 'bbcode',
PRIMARY KEY (`id`),
KEY `cat_name` (`pkg_category`,`pkg_name`)
);

View File

@@ -1,8 +1,18 @@
CREATE TABLE package_stats (
dl_number mediumint(8) unsigned NOT NULL default '0',
package varchar(80) NOT NULL default '',
release varchar(20) NOT NULL default '',
pid int(11) NOT NULL default '0',
rid int(11) NOT NULL default '0',
cid int(11) NOT NULL default '0'
) TYPE=MyISAM;
--
-- Table structure for table `package_stats`
--
DROP TABLE IF EXISTS `package_stats`;
CREATE TABLE `package_stats` (
`dl_number` mediumint(8) unsigned NOT NULL default '0',
`package` varchar(80) NOT NULL default '',
`release` varchar(20) NOT NULL default '',
`pid` int(11) NOT NULL default '0',
`rid` int(11) NOT NULL default '0',
`cid` int(11) NOT NULL default '0',
`last_dl` datetime NOT NULL default '0000-00-00 00:00:00',
PRIMARY KEY (`rid`,`pid`),
INDEX (`package`),
INDEX (`dl_number`)
);

View File

@@ -1,25 +1,31 @@
# $Id$
CREATE TABLE packages (
id INTEGER NOT NULL,
name VARCHAR(80) NOT NULL,
package_type ENUM('pear','pecl') NOT NULL default 'pear',
category INTEGER, -- REFERENCES categories(id),
stablerelease VARCHAR(20),
develrelease VARCHAR(20),
license VARCHAR(50),
summary TEXT,
description TEXT,
homepage VARCHAR(255),
doc_link VARCHAR(255),
cvs_link VARCHAR(255),
bug_link VARCHAR(255),
wiki_link VARCHAR(255),
unmaintained tinyint(1) NOT NULL default '0',
newpk_id int(11) default NULL,
newpackagename varchar(100) default NULL,
newchannel varchar(255) default NULL,
approved tinyint(1) NOT NULL default '0',
PRIMARY KEY(id),
UNIQUE INDEX(name),
INDEX(category)
--
-- Table structure for table `packages`
--
DROP TABLE IF EXISTS `packages`;
CREATE TABLE `packages` (
`id` int(11) NOT NULL default '0',
`name` varchar(80) NOT NULL default '',
`category` int(11) default NULL,
`stablerelease` varchar(20) default NULL,
`develrelease` varchar(20) default NULL,
`license` varchar(50) default NULL,
`summary` text,
`description` text,
`homepage` varchar(255) default NULL,
`package_type` enum('pear','pecl') NOT NULL default 'pear',
`doc_link` varchar(255) default NULL,
`cvs_link` varchar(255) default NULL,
`bug_link` varchar(255) default NULL,
`approved` tinyint(4) NOT NULL default '0',
`wiki_area` tinyint(1) NOT NULL default '0',
`unmaintained` tinyint(1) NOT NULL default '0',
`newpk_id` int(11) default NULL,
`blocktrackbacks` tinyint(4) NOT NULL default '0',
`newpackagename` varchar(100) default NULL,
`newchannel` varchar(255) default NULL,
PRIMARY KEY (`id`),
UNIQUE INDEX (`name`),
INDEX (`category`)
);

View File

@@ -1,16 +1,23 @@
CREATE TABLE releases (
id INTEGER NOT NULL,
package INTEGER NOT NULL REFERENCES packages(id),
version VARCHAR(20) NOT NULL,
state ENUM('stable', 'beta', 'alpha', 'snapshot', 'devel') DEFAULT 'stable',
doneby VARCHAR(20) NOT NULL REFERENCES users(handle),
license VARCHAR(20),
summary TEXT,
description TEXT,
releasedate DATETIME NOT NULL,
releasenotes TEXT DEFAULT '',
--
-- Table structure for table `releases`
--
PRIMARY KEY(id),
INDEX(state),
UNIQUE INDEX(package, version)
DROP TABLE IF EXISTS `releases`;
CREATE TABLE `releases` (
`id` int(11) NOT NULL default '0',
`package` int(11) NOT NULL default '0',
`version` varchar(20) NOT NULL default '',
`state` enum('stable','beta','alpha','snapshot','devel') default 'stable',
`doneby` varchar(20) NOT NULL default '',
`license` varchar(20) default NULL,
`summary` text,
`description` text,
`releasedate` datetime NOT NULL default '0000-00-00 00:00:00',
`releasenotes` text,
`packagefile` text,
PRIMARY KEY (`id`),
UNIQUE INDEX (`package`,`version`),
INDEX (`state`),
INDEX (`releasedate`,`package`)
);

View File

@@ -1,7 +1,14 @@
CREATE TABLE state_order (
state VARCHAR(10) NOT NULL,
order INTEGER NOT NULL,
PRIMARY KEY(state)
--
-- Table structure for table `state_order`
--
DROP TABLE IF EXISTS `state_order`;
CREATE TABLE `state_order` (
`state` varchar(10) NOT NULL default '',
`orderno` int(11) default NULL,
PRIMARY KEY (`state`),
INDEX (`orderno`)
);
INSERT INTO state_order VALUES('stable', 0);

View File

@@ -1,22 +1,33 @@
CREATE TABLE users (
handle VARCHAR(20) NOT NULL,
password VARCHAR(64),
ppp_only TINYINT(4) NOT NULL default '0',
name VARCHAR(100),
email VARCHAR(100),
homepage VARCHAR(255),
created DATETIME,
createdby VARCHAR(20),
lastlogin DATETIME,
showemail BOOL,
registered BOOL,
admin BOOL,
userinfo VARCHAR(255),
pgpkeyid VARCHAR(20),
pgpkey TEXT,
wishlist VARCHAR(255),
--
-- Table structure for table `users`
--
PRIMARY KEY(handle),
INDEX(handle,registered),
INDEX(pgpkeyid)
DROP TABLE IF EXISTS `users`;
CREATE TABLE `users` (
`handle` varchar(20) NOT NULL default '',
`password` varchar(64) default NULL,
`name` varchar(100) default NULL,
`email` varchar(100) default NULL,
`homepage` varchar(255) default NULL,
`created` datetime default NULL,
`createdby` varchar(20) default NULL,
`lastlogin` datetime default NULL,
`showemail` tinyint(1) default NULL,
`registered` tinyint(1) default NULL,
`admin` tinyint(1) default NULL,
`userinfo` text,
`pgpkeyid` varchar(20) default NULL,
`pgpkey` text,
`wishlist` varchar(255) NOT NULL default '',
`longitude` varchar(25) default NULL,
`latitude` varchar(25) default NULL,
`active` tinyint(1) NOT NULL default '1',
`from_site` varchar(4) NOT NULL default 'pear',
PRIMARY KEY (`handle`),
UNIQUE KEY `email_u` (`email`),
KEY `handle` (`handle`,`registered`),
KEY `pgpkeyid` (`pgpkeyid`),
KEY `email` (`email`(25)),
KEY `IDX_geoloc` (`latitude`,`longitude`)
);