first commit
This commit is contained in:
47
sql/comments.mssql.sql
Normal file
47
sql/comments.mssql.sql
Normal file
@@ -0,0 +1,47 @@
|
||||
-- Microsoft SQL Server (MSSQL) variant of Comments' database schema
|
||||
-- This is probably crazy, but so is MSSQL. I've never used MSSQL so
|
||||
-- there's a fair chance that the code is full of bugs, stupid things or both.
|
||||
-- Please feel free to submit patches or just go ahead and fix it.
|
||||
--
|
||||
-- Tested at SQLFiddle.com against MS SQL Server 2008 & 2012 and at least this
|
||||
-- builds. Doesn't guarantee anything, though.
|
||||
--
|
||||
-- Author: Jack Phoenix <jack@countervandalism.net>
|
||||
-- Date: 24 July 2013
|
||||
CREATE TABLE /*$wgDBprefix*/Comments (
|
||||
CommentID INT NOT NULL PRIMARY KEY IDENTITY(0,1),
|
||||
Comment_Page_ID INT NOT NULL default 0,
|
||||
Comment_user_id INT NOT NULL default 0,
|
||||
Comment_Username NVARCHAR(200) NOT NULL default '',
|
||||
Comment_Text text NOT NULL,
|
||||
Comment_Date DATETIME NOT NULL default '0000-00-00 00:00:00',
|
||||
Comment_Parent_ID INT NOT NULL default 0,
|
||||
Comment_IP NVARCHAR(45) NOT NULL default '',
|
||||
) /*$wgDBTableOptions*/;
|
||||
|
||||
CREATE INDEX /*i*/comment_page_id_index ON /*$wgDBprefix*/Comments (Comment_Page_ID);
|
||||
CREATE INDEX /*i*/wiki_user_id ON /*$wgDBprefix*/Comments (Comment_user_id);
|
||||
CREATE INDEX /*i*/wiki_user_name ON /*$wgDBprefix*/Comments (Comment_Username);
|
||||
|
||||
CREATE TABLE /*$wgDBprefix*/Comments_Vote (
|
||||
Comment_Vote_ID INT NOT NULL default 0,
|
||||
Comment_Vote_user_id INT NOT NULL default 0,
|
||||
Comment_Vote_Username NVARCHAR(200) NOT NULL default '',
|
||||
Comment_Vote_Score INT NOT NULL default 0,
|
||||
Comment_Vote_Date DATETIME NOT NULL default '0000-00-00 00:00:00',
|
||||
Comment_Vote_IP NVARCHAR(45) NOT NULL default ''
|
||||
) /*$wgDBTableOptions*/;
|
||||
|
||||
CREATE UNIQUE INDEX /*i*/Comments_Vote_user_id_index ON /*$wgDBprefix*/Comments_Vote (Comment_Vote_ID,Comment_Vote_Username);
|
||||
CREATE INDEX /*i*/Comment_Vote_Score ON /*$wgDBprefix*/Comments_Vote (Comment_Vote_Score);
|
||||
CREATE INDEX /*i*/Comment_Vote_user_id ON /*$wgDBprefix*/Comments_Vote (Comment_Vote_user_id);
|
||||
|
||||
CREATE TABLE /*$wgDBprefix*/Comments_block (
|
||||
cb_id INT NOT NULL PRIMARY KEY IDENTITY(0,1),
|
||||
cb_user_id INT NOT NULL default 0,
|
||||
cb_user_name NVARCHAR(255) NOT NULL default '',
|
||||
cb_user_id_blocked INT default NULL,
|
||||
cb_user_name_blocked NVARCHAR(255) NOT NULL default '',
|
||||
cb_date DATETIME default NULL
|
||||
) /*$wgDBTableOptions*/;
|
||||
CREATE INDEX /*i*/cb_user_id ON /*$wgDBprefix*/Comments_block (cb_user_id);
|
||||
60
sql/comments.oracle.sql
Normal file
60
sql/comments.oracle.sql
Normal file
@@ -0,0 +1,60 @@
|
||||
-- Oracle variant of Comments' database schema
|
||||
-- This is probably crazy, but so is Oracle. I've never used Oracle so
|
||||
-- there's a fair chance that the code is full of bugs, stupid things or both.
|
||||
-- Please feel free to submit patches or just go ahead and fix it.
|
||||
--
|
||||
-- This DOES NOT build at SQLFiddle.com...
|
||||
--
|
||||
-- Author: Jack Phoenix <jack@countervandalism.net>
|
||||
-- Date: 24 July 2013
|
||||
|
||||
-- No idea if this is needed, but /maintenance/oracle/tables.sql uses it, so I
|
||||
-- guess it serves some purpose here, too
|
||||
define mw_prefix='{$wgDBprefix}';
|
||||
|
||||
CREATE SEQUENCE Comments_CommentID_seq;
|
||||
|
||||
CREATE TABLE &mw_prefix.Comments (
|
||||
CommentID NUMBER NOT NULL,
|
||||
Comment_Page_ID NUMBER NOT NULL DEFAULT 0,
|
||||
Comment_user_id NUMBER NOT NULL DEFAULT 0,
|
||||
Comment_Username VARCHAR2(200) NOT NULL,
|
||||
-- CLOB (original MySQL one uses text), as per http://stackoverflow.com/questions/1180204/oracle-equivalent-of-mysqls-text-type
|
||||
Comment_Text CLOB NOT NULL,
|
||||
Comment_Date TIMESTAMP(6) WITH TIME ZONE NOT NULL,
|
||||
Comment_Parent_ID NUMBER NOT NULL DEFAULT 0,
|
||||
Comment_IP VARCHAR2(45) NOT NULL,
|
||||
);
|
||||
|
||||
CREATE INDEX &mw_prefix.comment_page_id_index ON &mw_prefix.Comments (Comment_Page_ID);
|
||||
CREATE INDEX &mw_prefix.wiki_user_id ON &mw_prefix.Comments (Comment_user_id);
|
||||
CREATE INDEX &mw_prefix.wiki_user_name ON &mw_prefix.Comments (Comment_Username);
|
||||
|
||||
ALTER TABLE &mw_prefix.Comments ADD CONSTRAINT &mw_prefix.Comments_pk PRIMARY KEY (CommentID);
|
||||
|
||||
CREATE TABLE &mw_prefix.Comments_Vote (
|
||||
Comment_Vote_ID NUMBER NOT NULL DEFAULT 0,
|
||||
Comment_Vote_user_id NUMBER NOT NULL DEFAULT 0,
|
||||
Comment_Vote_Username VARCHAR2(200) NOT NULL,
|
||||
Comment_Vote_Score NUMBER NOT NULL DEFAULT 0,
|
||||
Comment_Vote_Date TIMESTAMP(6) WITH TIME ZONE NOT NULL,
|
||||
Comment_Vote_IP VARCHAR2(45) NOT NULL
|
||||
);
|
||||
|
||||
CREATE UNIQUE INDEX &mw_prefix.Comments_Vote_user_id_index ON &mw_prefix.Comments_Vote (Comment_Vote_ID,Comment_Vote_Username);
|
||||
CREATE INDEX &mw_prefix.Comment_Vote_Score ON &mw_prefix.Comments_Vote (Comment_Vote_Score);
|
||||
CREATE INDEX &mw_prefix.Comment_Vote_user_id ON &mw_prefix.Comments_Vote (Comment_Vote_user_id);
|
||||
|
||||
CREATE SEQUENCE Comments_block_cb_id_seq;
|
||||
|
||||
CREATE TABLE &mw_prefix.Comments_block (
|
||||
cb_id NUMBER NOT NULL,
|
||||
cb_user_id NUMBER NOT NULL DEFAULT 0,
|
||||
cb_user_name VARCHAR2(255) NOT NULL,
|
||||
cb_user_id_blocked NUMBER DEFAULT NULL,
|
||||
cb_user_name_blocked VARCHAR2(255) NOT NULL,
|
||||
cb_date TIMESTAMP(6) WITH TIME ZONE
|
||||
);
|
||||
CREATE INDEX &mw_prefix.cb_user_id ON &mw_prefix.Comments_block (cb_user_id);
|
||||
|
||||
ALTER TABLE &mw_prefix.Comments_block ADD CONSTRAINT &mw_prefix.Comments_block_pk PRIMARY KEY (cb_id);
|
||||
53
sql/comments.postgres.sql
Normal file
53
sql/comments.postgres.sql
Normal file
@@ -0,0 +1,53 @@
|
||||
-- PostgreSQL variant of Comments' database schema
|
||||
-- This is probably crazy, but so is PostgreSQL. I've never used PGSQL so
|
||||
-- there's a fair chance that the code is full of bugs, stupid things or both.
|
||||
-- Please feel free to submit patches or just go ahead and fix it.
|
||||
--
|
||||
-- Tested at SQLFiddle.com against PostgreSQL 8.3.20 & 9.1.9 and at least this
|
||||
-- builds. Doesn't guarantee anything, though.
|
||||
--
|
||||
-- Author: Jack Phoenix <jack@countervandalism.net>
|
||||
-- Date: 24 July 2013
|
||||
DROP SEQUENCE IF EXISTS Comments_CommentID_seq CASCADE;
|
||||
CREATE SEQUENCE Comments_CommentID_seq MINVALUE 0 START WITH 0;
|
||||
|
||||
CREATE TABLE Comments (
|
||||
CommentID INTEGER NOT NULL PRIMARY KEY DEFAULT nextval('Comments_CommentID_seq'),
|
||||
Comment_Page_ID INTEGER NOT NULL DEFAULT 0,
|
||||
Comment_user_id INTEGER NOT NULL DEFAULT 0,
|
||||
Comment_Username TEXT NOT NULL DEFAULT '',
|
||||
Comment_Text TEXT NOT NULL,
|
||||
Comment_Date TIMESTAMPTZ NOT NULL DEFAULT now(),
|
||||
Comment_Parent_ID INTEGER NOT NULL DEFAULT 0,
|
||||
Comment_IP TEXT NOT NULL DEFAULT '',
|
||||
);
|
||||
|
||||
CREATE INDEX comment_page_id_index ON Comments (Comment_Page_ID);
|
||||
CREATE INDEX wiki_user_id ON Comments (Comment_user_id);
|
||||
CREATE INDEX wiki_user_name ON Comments (Comment_Username);
|
||||
|
||||
CREATE TABLE Comments_Vote (
|
||||
Comment_Vote_ID INTEGER NOT NULL DEFAULT 0,
|
||||
Comment_Vote_user_id INTEGER NOT NULL DEFAULT 0,
|
||||
Comment_Vote_Username TEXT NOT NULL DEFAULT '',
|
||||
Comment_Vote_Score INTEGER NOT NULL DEFAULT 0,
|
||||
Comment_Vote_Date TIMESTAMPTZ NOT NULL DEFAULT now(),
|
||||
Comment_Vote_IP TEXT NOT NULL DEFAULT ''
|
||||
);
|
||||
|
||||
CREATE UNIQUE INDEX Comments_Vote_user_id_index ON Comments_Vote (Comment_Vote_ID,Comment_Vote_Username);
|
||||
CREATE INDEX Comment_Vote_Score ON Comments_Vote (Comment_Vote_Score);
|
||||
CREATE INDEX Comment_Vote_user_id ON Comments_Vote (Comment_Vote_user_id);
|
||||
|
||||
|
||||
DROP SEQUENCE IF EXISTS Comments_block_cb_id_seq CASCADE;
|
||||
CREATE SEQUENCE Comments_block_cb_id_seq MINVALUE 0 START WITH 0;
|
||||
CREATE TABLE Comments_block (
|
||||
cb_id INTEGER NOT NULL PRIMARY KEY DEFAULT nextval('Comments_block_cb_id_seq'),
|
||||
cb_user_id INTEGER NOT NULL DEFAULT 0,
|
||||
cb_user_name TEXT NOT NULL DEFAULT '',
|
||||
cb_user_id_blocked INTEGER DEFAULT NULL,
|
||||
cb_user_name_blocked TEXT NOT NULL DEFAULT '',
|
||||
cb_date TIMESTAMPTZ NOT NULL DEFAULT now()
|
||||
);
|
||||
CREATE INDEX cb_user_id ON Comments_block (cb_user_id);
|
||||
38
sql/comments.sql
Normal file
38
sql/comments.sql
Normal file
@@ -0,0 +1,38 @@
|
||||
-- MySQL/SQLite schema for the Comments extension
|
||||
CREATE TABLE /*_*/Comments (
|
||||
CommentID int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
|
||||
Comment_Page_ID int(11) NOT NULL default 0,
|
||||
Comment_user_id int(11) NOT NULL default 0,
|
||||
Comment_Username varchar(200) NOT NULL default '',
|
||||
Comment_Text text NOT NULL,
|
||||
Comment_Date datetime NOT NULL default '0000-00-00 00:00:00',
|
||||
Comment_Parent_ID int(11) NOT NULL default 0,
|
||||
Comment_IP varchar(45) NOT NULL default ''
|
||||
) /*$wgDBTableOptions*/;
|
||||
|
||||
CREATE INDEX /*i*/comment_page_id_index ON /*_*/Comments (Comment_Page_ID);
|
||||
CREATE INDEX /*i*/wiki_user_id ON /*_*/Comments (Comment_user_id);
|
||||
CREATE INDEX /*i*/wiki_user_name ON /*_*/Comments (Comment_Username);
|
||||
|
||||
CREATE TABLE /*_*/Comments_Vote (
|
||||
Comment_Vote_ID int(11) NOT NULL default 0,
|
||||
Comment_Vote_user_id int(11) NOT NULL default 0,
|
||||
Comment_Vote_Username varchar(200) NOT NULL default '',
|
||||
Comment_Vote_Score int(4) NOT NULL default 0,
|
||||
Comment_Vote_Date datetime NOT NULL default '0000-00-00 00:00:00',
|
||||
Comment_Vote_IP varchar(45) NOT NULL default ''
|
||||
) /*$wgDBTableOptions*/;
|
||||
|
||||
CREATE UNIQUE INDEX /*i*/Comments_Vote_user_id_index ON /*_*/Comments_Vote (Comment_Vote_ID,Comment_Vote_Username);
|
||||
CREATE INDEX /*i*/Comment_Vote_Score ON /*_*/Comments_Vote (Comment_Vote_Score);
|
||||
CREATE INDEX /*i*/Comment_Vote_user_id ON /*_*/Comments_Vote (Comment_Vote_user_id);
|
||||
|
||||
CREATE TABLE /*_*/Comments_block (
|
||||
cb_id int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
|
||||
cb_user_id int(5) NOT NULL default 0,
|
||||
cb_user_name varchar(255) NOT NULL default '',
|
||||
cb_user_id_blocked int(5) default NULL,
|
||||
cb_user_name_blocked varchar(255) NOT NULL default '',
|
||||
cb_date datetime default NULL
|
||||
) /*$wgDBTableOptions*/;
|
||||
CREATE INDEX /*i*/cb_user_id ON /*_*/Comments_block (cb_user_id);
|
||||
Reference in New Issue
Block a user