Commit: 16bea4f84aeb39cda9dc3b647c07c4c4f2749433 Author: Peter Kokot <peterko...@gmail.com> Wed, 24 Oct 2018 19:51:47 +0200 Parents: a06f85b0c3b775ed60292b680e7ce47e0c001bbe Branches: master
Link: http://git.php.net/?p=web/bugs.git;a=commitdiff;h=16bea4f84aeb39cda9dc3b647c07c4c4f2749433 Log: Refactor SQL files This separates the SQL files according to its functionality: - database.sql for creating only database - schema.sql for creating only database schema - fixtures.sql for inserting only data fixtures This helps in building project from scratch with empty database with only schema to insert custom development fixtures. Changed paths: M README.md D sql/bugs.sql A sql/database.sql A sql/fixtures.sql D sql/phpbugsdb_create.sql A sql/schema.sql
diff --git a/README.md b/README.md index 97bdf58..20299a8 100644 --- a/README.md +++ b/README.md @@ -31,5 +31,5 @@ pear install --alldeps Text_CAPTCHA_Numeral Text_Diff HTTP_Upload-1.0.0b4 * Database: -Create a new database using `sql/phpbugsdb_create.sql` and insert fixtures using -`sql/bugs.sql`. +Create a new database using `sql/database.sql`, create database schema +`sql/schema.sql` and insert fixtures using `sql/fixtures.sql`. diff --git a/sql/bugs.sql b/sql/bugs.sql deleted file mode 100644 index 12f0b88..0000000 --- a/sql/bugs.sql +++ /dev/null @@ -1,120 +0,0 @@ --- ts1 bug created date --- ts2 bug last updated date --- passwd user password - -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 '', - reporter_name varchar(80) 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(64) default NULL, - registered tinyint(1) NOT NULL default '0', - block_user_comment char(1) default 'N', - cve_id varchar(15) default NULL, - private char(1) default 'N', - visitor_ip varbinary(16) NOT NULL, - PRIMARY KEY (id), - KEY php_version (php_version(1)), - KEY status (status), - KEY package_name (package_name), - FULLTEXT KEY email (email,sdesc,ldesc) -) ENGINE=MyISAM DEFAULT CHARSET=utf8 PACK_KEYS=1; - -CREATE TABLE bugdb_comments ( - id int(8) NOT NULL auto_increment, - bug int(8) NOT NULL default '0', - email varchar(40) NOT NULL default '', - reporter_name varchar(80) default '', - ts datetime NOT NULL default CURRENT_TIMESTAMP, - comment text NOT NULL, - comment_type varchar(10) default 'comment', - visitor_ip varbinary(16) NOT NULL, - PRIMARY KEY (id), - KEY bug (bug,id,ts), - FULLTEXT KEY comment (comment) -) ENGINE=MyISAM DEFAULT CHARSET=utf8 PACK_KEYS=1; - -CREATE TABLE bugdb_obsoletes_patches ( - bugdb_id int(8) NOT NULL, - patch varchar(80) NOT NULL, - revision int(8) NOT NULL, - obsolete_patch varchar(80) NOT NULL, - obsolete_revision int(8) NOT NULL, - PRIMARY KEY (bugdb_id,patch,revision,obsolete_patch,obsolete_revision) -) ENGINE=MyISAM DEFAULT CHARSET=utf8; - -CREATE TABLE bugdb_patchtracker ( - bugdb_id int(8) NOT NULL, - patch varchar(80) NOT NULL, - revision int(8) NOT NULL, - developer varchar(40) NOT NULL, - PRIMARY KEY (bugdb_id,patch,revision) -) ENGINE=MyISAM DEFAULT CHARSET=utf8; - -CREATE TABLE bugdb_pseudo_packages ( - id int(11) NOT NULL auto_increment, - parent int(11) NOT NULL default '0', - name varchar(80) NOT NULL default '', - long_name varchar(100) NOT NULL default '', - project varchar(40) NOT NULL default '', - list_email varchar(80) NOT NULL default '', - disabled tinyint(1) NOT NULL default 0, # Disabled == read-only (no new reports in these!) - PRIMARY KEY (id), - UNIQUE KEY (name, project) -) ENGINE=MyISAM DEFAULT CHARSET=utf8; - -CREATE TABLE bugdb_resolves ( - id int(11) NOT NULL auto_increment, - name varchar(100) NOT NULL, - status varchar(16) default NULL, - title varchar(100) NOT NULL, - message text NOT NULL, - project varchar(40) NOT NULL default '', - package_name varchar(80) default NULL, - webonly tinyint(1) NOT NULL default '0', - PRIMARY KEY (id) -) ENGINE=MyISAM DEFAULT CHARSET=utf8; - -CREATE TABLE bugdb_subscribe ( - bug_id int(8) NOT NULL default '0', - email varchar(40) NOT NULL default '', - unsubscribe_date int(11) default NULL, - unsubscribe_hash varchar(80) default '', - PRIMARY KEY (bug_id,email), - KEY unsubscribe_hash (unsubscribe_hash) -) ENGINE=MyISAM DEFAULT CHARSET=utf8; - --- score's value can be 1 through 5 -CREATE TABLE bugdb_votes ( - bug int(8) NOT NULL default '0', - ts timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, - ip int(10) unsigned NOT NULL default '0', - score int(3) NOT NULL default '0', - reproduced int(1) NOT NULL default '0', - tried int(1) NOT NULL default '0', - sameos int(1) default NULL, - samever int(1) default NULL -) ENGINE=MyISAM DEFAULT CHARSET=utf8; - -CREATE TABLE bugdb_pulls ( - bugdb_id int(8) NOT NULL default '0', - github_repo varchar(255) NOT NULL, - github_pull_id int NOT NULL, - github_title varchar(255) NOT NULL, - developer varchar(40) NOT NULL, - github_html_url varchar(255) NOT NULL, - PRIMARY KEY (bugdb_id, github_repo, github_pull_id) -) ENGINE=MyISAM DEFAULT CHARSET=utf8; - ---- Default pseudo packages (common for all projects) -INSERT INTO bugdb_pseudo_packages SET id = '1', parent = '0', name = 'Web Site', long_name = 'Web Site', project = ''; -INSERT INTO bugdb_pseudo_packages SET id = '2', parent = '1', name = 'Bug System', long_name = 'Bug System', project = ''; diff --git a/sql/database.sql b/sql/database.sql new file mode 100644 index 0000000..b5caf7a --- /dev/null +++ b/sql/database.sql @@ -0,0 +1,2 @@ +CREATE DATABASE phpbugsdb; +GRANT ALL PRIVILEGES on phpbugsdb.* to 'nobody'@'localhost'; diff --git a/sql/fixtures.sql b/sql/fixtures.sql new file mode 100644 index 0000000..c4f3bf7 --- /dev/null +++ b/sql/fixtures.sql @@ -0,0 +1,4 @@ +-- Default pseudo packages (common for all projects) + +INSERT INTO bugdb_pseudo_packages SET id = '1', parent = '0', name = 'Web Site', long_name = 'Web Site', project = ''; +INSERT INTO bugdb_pseudo_packages SET id = '2', parent = '1', name = 'Bug System', long_name = 'Bug System', project = ''; diff --git a/sql/phpbugsdb_create.sql b/sql/phpbugsdb_create.sql deleted file mode 100644 index b5caf7a..0000000 --- a/sql/phpbugsdb_create.sql +++ /dev/null @@ -1,2 +0,0 @@ -CREATE DATABASE phpbugsdb; -GRANT ALL PRIVILEGES on phpbugsdb.* to 'nobody'@'localhost'; diff --git a/sql/schema.sql b/sql/schema.sql new file mode 100644 index 0000000..f47075c --- /dev/null +++ b/sql/schema.sql @@ -0,0 +1,116 @@ +-- ts1 bug created date +-- ts2 bug last updated date +-- passwd user password + +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 '', + reporter_name varchar(80) 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(64) default NULL, + registered tinyint(1) NOT NULL default '0', + block_user_comment char(1) default 'N', + cve_id varchar(15) default NULL, + private char(1) default 'N', + visitor_ip varbinary(16) NOT NULL, + PRIMARY KEY (id), + KEY php_version (php_version(1)), + KEY status (status), + KEY package_name (package_name), + FULLTEXT KEY email (email,sdesc,ldesc) +) ENGINE=MyISAM DEFAULT CHARSET=utf8 PACK_KEYS=1; + +CREATE TABLE bugdb_comments ( + id int(8) NOT NULL auto_increment, + bug int(8) NOT NULL default '0', + email varchar(40) NOT NULL default '', + reporter_name varchar(80) default '', + ts datetime NOT NULL default CURRENT_TIMESTAMP, + comment text NOT NULL, + comment_type varchar(10) default 'comment', + visitor_ip varbinary(16) NOT NULL, + PRIMARY KEY (id), + KEY bug (bug,id,ts), + FULLTEXT KEY comment (comment) +) ENGINE=MyISAM DEFAULT CHARSET=utf8 PACK_KEYS=1; + +CREATE TABLE bugdb_obsoletes_patches ( + bugdb_id int(8) NOT NULL, + patch varchar(80) NOT NULL, + revision int(8) NOT NULL, + obsolete_patch varchar(80) NOT NULL, + obsolete_revision int(8) NOT NULL, + PRIMARY KEY (bugdb_id,patch,revision,obsolete_patch,obsolete_revision) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; + +CREATE TABLE bugdb_patchtracker ( + bugdb_id int(8) NOT NULL, + patch varchar(80) NOT NULL, + revision int(8) NOT NULL, + developer varchar(40) NOT NULL, + PRIMARY KEY (bugdb_id,patch,revision) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; + +CREATE TABLE bugdb_pseudo_packages ( + id int(11) NOT NULL auto_increment, + parent int(11) NOT NULL default '0', + name varchar(80) NOT NULL default '', + long_name varchar(100) NOT NULL default '', + project varchar(40) NOT NULL default '', + list_email varchar(80) NOT NULL default '', + disabled tinyint(1) NOT NULL default 0, # Disabled == read-only (no new reports in these!) + PRIMARY KEY (id), + UNIQUE KEY (name, project) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; + +CREATE TABLE bugdb_resolves ( + id int(11) NOT NULL auto_increment, + name varchar(100) NOT NULL, + status varchar(16) default NULL, + title varchar(100) NOT NULL, + message text NOT NULL, + project varchar(40) NOT NULL default '', + package_name varchar(80) default NULL, + webonly tinyint(1) NOT NULL default '0', + PRIMARY KEY (id) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; + +CREATE TABLE bugdb_subscribe ( + bug_id int(8) NOT NULL default '0', + email varchar(40) NOT NULL default '', + unsubscribe_date int(11) default NULL, + unsubscribe_hash varchar(80) default '', + PRIMARY KEY (bug_id,email), + KEY unsubscribe_hash (unsubscribe_hash) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; + +-- score's value can be 1 through 5 +CREATE TABLE bugdb_votes ( + bug int(8) NOT NULL default '0', + ts timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, + ip int(10) unsigned NOT NULL default '0', + score int(3) NOT NULL default '0', + reproduced int(1) NOT NULL default '0', + tried int(1) NOT NULL default '0', + sameos int(1) default NULL, + samever int(1) default NULL +) ENGINE=MyISAM DEFAULT CHARSET=utf8; + +CREATE TABLE bugdb_pulls ( + bugdb_id int(8) NOT NULL default '0', + github_repo varchar(255) NOT NULL, + github_pull_id int NOT NULL, + github_title varchar(255) NOT NULL, + developer varchar(40) NOT NULL, + github_html_url varchar(255) NOT NULL, + PRIMARY KEY (bugdb_id, github_repo, github_pull_id) +) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- PHP Webmaster List Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php