mirror of
https://github.com/Znote/ZnoteAAC.git
synced 2025-04-29 18:59:21 +02:00
Extracting SQL schema out from connect.php file
This commit is contained in:
parent
d7996c7d1d
commit
2d14b3252e
@ -23,306 +23,7 @@ $install = "
|
||||
Make sure you have imported TFS database. (OTdir/schema.sql OR OTdir/schemas/mysql.sql OR OTdir/forgottenserver.sql)
|
||||
</p>
|
||||
</li>
|
||||
<li>
|
||||
Import the below schema to a <b>TFS database in phpmyadmin</b>:<br>
|
||||
<textarea cols=\"65\" rows=\"10\">
|
||||
CREATE TABLE IF NOT EXISTS `znote` (
|
||||
`id` int(10) NOT NULL AUTO_INCREMENT,
|
||||
`version` varchar(30) NOT NULL COMMENT 'Znote AAC version',
|
||||
`installed` int(10) NOT NULL,
|
||||
`cached` int(11) DEFAULT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `znote_accounts` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`account_id` int(11) NOT NULL,
|
||||
`ip` int(10) UNSIGNED NOT NULL,
|
||||
`created` int(10) NOT NULL,
|
||||
`points` int(10) DEFAULT 0,
|
||||
`cooldown` int(10) DEFAULT 0,
|
||||
`active` tinyint(4) NOT NULL DEFAULT '0',
|
||||
`active_email` tinyint(4) NOT NULL DEFAULT '0',
|
||||
`activekey` int(11) NOT NULL DEFAULT '0',
|
||||
`flag` varchar(20) NOT NULL,
|
||||
`secret` char(16) DEFAULT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `znote_news` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`title` varchar(30) NOT NULL,
|
||||
`text` text NOT NULL,
|
||||
`date` int(11) NOT NULL,
|
||||
`pid` int(11) NOT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `znote_images` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`title` varchar(30) NOT NULL,
|
||||
`desc` text NOT NULL,
|
||||
`date` int(11) NOT NULL,
|
||||
`status` int(11) NOT NULL,
|
||||
`image` varchar(30) NOT NULL,
|
||||
`account_id` int(11) NOT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `znote_paypal` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`txn_id` varchar(30) NOT NULL,
|
||||
`email` varchar(255) NOT NULL,
|
||||
`accid` int(11) NOT NULL,
|
||||
`price` int(11) NOT NULL,
|
||||
`points` int(11) NOT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `znote_paygol` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`account_id` int(11) NOT NULL,
|
||||
`price` int(11) NOT NULL,
|
||||
`points` int(11) NOT NULL,
|
||||
`message_id` varchar(255) NOT NULL,
|
||||
`service_id` varchar(255) NOT NULL,
|
||||
`shortcode` varchar(255) NOT NULL,
|
||||
`keyword` varchar(255) NOT NULL,
|
||||
`message` varchar(255) NOT NULL,
|
||||
`sender` varchar(255) NOT NULL,
|
||||
`operator` varchar(255) NOT NULL,
|
||||
`country` varchar(255) NOT NULL,
|
||||
`currency` varchar(255) NOT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `znote_players` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`player_id` int(11) NOT NULL,
|
||||
`created` int(11) NOT NULL,
|
||||
`hide_char` tinyint(4) NOT NULL,
|
||||
`comment` varchar(255) NOT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `znote_player_reports` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`name` varchar(50) NOT NULL,
|
||||
`posx` int(6) NOT NULL,
|
||||
`posy` int(6) NOT NULL,
|
||||
`posz` int(6) NOT NULL,
|
||||
`report_description` VARCHAR(255) NOT NULL,
|
||||
`date` INT(11) NOT NULL,
|
||||
`status` TINYINT(3) NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `znote_changelog` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`text` VARCHAR(255) NOT NULL,
|
||||
`time` INT(11) NOT NULL,
|
||||
`report_id` INT(11) NOT NULL,
|
||||
`status` TINYINT(3) NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `znote_shop` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`type` int(11) NOT NULL,
|
||||
`itemid` int(11) DEFAULT NULL,
|
||||
`count` int(11) NOT NULL DEFAULT '1',
|
||||
`description` varchar(255) NOT NULL,
|
||||
`points` int(11) NOT NULL DEFAULT '10',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `znote_shop_logs` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`account_id` int(11) NOT NULL,
|
||||
`player_id` int(11) NOT NULL,
|
||||
`type` int(11) NOT NULL,
|
||||
`itemid` int(11) NOT NULL,
|
||||
`count` int(11) NOT NULL,
|
||||
`points` int(11) NOT NULL,
|
||||
`time` int(11) NOT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `znote_shop_orders` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`account_id` int(11) NOT NULL,
|
||||
`type` int(11) NOT NULL,
|
||||
`itemid` int(11) NOT NULL,
|
||||
`count` int(11) NOT NULL,
|
||||
`time` int(11) NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `znote_visitors` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`ip` int(11) NOT NULL,
|
||||
`value` int(11) NOT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `znote_visitors_details` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`ip` int(11) NOT NULL,
|
||||
`time` int(11) NOT NULL,
|
||||
`type` tinyint(4) NOT NULL,
|
||||
`account_id` int(11) NOT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `znote_forum` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`name` varchar(50) NOT NULL,
|
||||
`access` tinyint(4) NOT NULL,
|
||||
`closed` tinyint(4) NOT NULL,
|
||||
`hidden` tinyint(4) NOT NULL,
|
||||
`guild_id` int(11) NOT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `znote_forum_threads` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`forum_id` int(11) NOT NULL,
|
||||
`player_id` int(11) NOT NULL,
|
||||
`player_name` varchar(50) NOT NULL,
|
||||
`title` varchar(50) NOT NULL,
|
||||
`text` text NOT NULL,
|
||||
`created` int(11) NOT NULL,
|
||||
`updated` int(11) NOT NULL,
|
||||
`sticky` tinyint(4) NOT NULL,
|
||||
`hidden` tinyint(4) NOT NULL,
|
||||
`closed` tinyint(4) NOT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `znote_forum_posts` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`thread_id` int(11) NOT NULL,
|
||||
`player_id` int(11) NOT NULL,
|
||||
`player_name` varchar(50) NOT NULL,
|
||||
`text` text NOT NULL,
|
||||
`created` int(11) NOT NULL,
|
||||
`updated` int(11) NOT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `znote_deleted_characters` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`original_account_id` int(11) NOT NULL,
|
||||
`character_name` varchar(255) NOT NULL,
|
||||
`time` datetime NOT NULL,
|
||||
`done` tinyint(1) NOT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `znote_guild_wars` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`limit` int(11) NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`id`),
|
||||
FOREIGN KEY (`id`) REFERENCES `guild_wars` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `znote_tickets` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`owner` int(11) NOT NULL,
|
||||
`username` varchar(32) CHARACTER SET latin1 NOT NULL,
|
||||
`subject` text CHARACTER SET latin1 NOT NULL,
|
||||
`message` text CHARACTER SET latin1 NOT NULL,
|
||||
`ip` int(11) NOT NULL,
|
||||
`creation` int(11) NOT NULL,
|
||||
`status` varchar(20) CHARACTER SET latin1 NOT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `znote_tickets_replies` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`tid` int(11) NOT NULL,
|
||||
`username` varchar(32) CHARACTER SET latin1 NOT NULL,
|
||||
`message` text CHARACTER SET latin1 NOT NULL,
|
||||
`created` int(11) NOT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `znote_global_storage` (
|
||||
`key` VARCHAR(32) NOT NULL,
|
||||
`value` TEXT NOT NULL,
|
||||
UNIQUE (`key`)
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `znote_auction_player` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`player_id` int(11) NOT NULL,
|
||||
`original_account_id` int(11) NOT NULL,
|
||||
`bidder_account_id` int(11) NOT NULL,
|
||||
`time_begin` int(11) NOT NULL,
|
||||
`time_end` int(11) NOT NULL,
|
||||
`price` int(11) NOT NULL,
|
||||
`bid` int(11) NOT NULL,
|
||||
`deposit` int(11) NOT NULL,
|
||||
`sold` tinyint(1) NOT NULL,
|
||||
`claimed` tinyint(1) NOT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
INSERT INTO `znote` (`version`, `installed`) VALUES
|
||||
('$version', UNIX_TIMESTAMP(CURDATE()));
|
||||
|
||||
INSERT INTO `znote_forum` (`name`, `access`, `closed`, `hidden`, `guild_id`) VALUES
|
||||
('Staff Board', '4', '0', '0', '0'),
|
||||
('Tutors Board', '2', '0', '0', '0'),
|
||||
('Discussion', '1', '0', '0', '0'),
|
||||
('Feedback', '1', '0', '1', '0');
|
||||
|
||||
INSERT INTO `znote_accounts` (`account_id`, `ip`, `created`, `flag`)
|
||||
SELECT
|
||||
`a`.`id` AS `account_id`,
|
||||
0 AS `ip`,
|
||||
UNIX_TIMESTAMP(CURDATE()) AS `created`,
|
||||
'' AS `flag`
|
||||
FROM `accounts` AS `a`
|
||||
LEFT JOIN `znote_accounts` AS `z`
|
||||
ON `a`.`id` = `z`.`account_id`
|
||||
WHERE `z`.`created` IS NULL;
|
||||
|
||||
INSERT INTO `znote_players` (`player_id`, `created`, `hide_char`, `comment`)
|
||||
SELECT
|
||||
`p`.`id` AS `player_id`,
|
||||
UNIX_TIMESTAMP(CURDATE()) AS `created`,
|
||||
0 AS `hide_char`,
|
||||
'' AS `comment`
|
||||
FROM `players` AS `p`
|
||||
LEFT JOIN `znote_players` AS `z`
|
||||
ON `p`.`id` = `z`.`player_id`
|
||||
WHERE `z`.`created` IS NULL;
|
||||
|
||||
DELETE `d` FROM `znote_accounts` AS `d`
|
||||
INNER JOIN (
|
||||
SELECT `i`.`account_id`,
|
||||
MAX(`i`.`id`) AS `retain`
|
||||
FROM `znote_accounts` AS `i`
|
||||
GROUP BY `i`.`account_id`
|
||||
HAVING COUNT(`i`.`id`) > 1
|
||||
) AS `x`
|
||||
ON `d`.`account_id` = `x`.`account_id`
|
||||
AND `d`.`id` != `x`.`retain`;
|
||||
|
||||
DELETE `d` FROM `znote_players` AS `d`
|
||||
INNER JOIN (
|
||||
SELECT `i`.`player_id`,
|
||||
MAX(`i`.`id`) AS `retain`
|
||||
FROM `znote_players` AS `i`
|
||||
GROUP BY `i`.`player_id`
|
||||
HAVING COUNT(`i`.`id`) > 1
|
||||
) AS `x`
|
||||
ON `d`.`player_id` = `x`.`player_id`
|
||||
AND `d`.`id` != `x`.`retain`;
|
||||
|
||||
</textarea>
|
||||
</li>
|
||||
<li>Import the <a href='/engine/database/znote_schema.sql'>Znote AAC schema</a> to a <b>TFS database in phpmyadmin</b>.</li>
|
||||
<li>
|
||||
<p>
|
||||
Edit config.php with correct mysql connection details.
|
||||
|
312
engine/database/znote_schema.sql
Normal file
312
engine/database/znote_schema.sql
Normal file
@ -0,0 +1,312 @@
|
||||
-- Start of Znote AAC database schema
|
||||
|
||||
SET @znote_version = '1.5_SVN';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `znote` (
|
||||
`id` int(10) NOT NULL AUTO_INCREMENT,
|
||||
`version` varchar(30) NOT NULL COMMENT 'Znote AAC version',
|
||||
`installed` int(10) NOT NULL,
|
||||
`cached` int(11) DEFAULT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `znote_accounts` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`account_id` int(11) NOT NULL,
|
||||
`ip` bigint(20) UNSIGNED NOT NULL,
|
||||
`created` int(10) NOT NULL,
|
||||
`points` int(10) DEFAULT 0,
|
||||
`cooldown` int(10) DEFAULT 0,
|
||||
`active` tinyint(4) NOT NULL DEFAULT '0',
|
||||
`active_email` tinyint(4) NOT NULL DEFAULT '0',
|
||||
`activekey` int(11) NOT NULL DEFAULT '0',
|
||||
`flag` varchar(20) NOT NULL,
|
||||
`secret` char(16) DEFAULT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `znote_news` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`title` varchar(30) NOT NULL,
|
||||
`text` text NOT NULL,
|
||||
`date` int(11) NOT NULL,
|
||||
`pid` int(11) NOT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `znote_images` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`title` varchar(30) NOT NULL,
|
||||
`desc` text NOT NULL,
|
||||
`date` int(11) NOT NULL,
|
||||
`status` int(11) NOT NULL,
|
||||
`image` varchar(30) NOT NULL,
|
||||
`account_id` int(11) NOT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `znote_paypal` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`txn_id` varchar(30) NOT NULL,
|
||||
`email` varchar(255) NOT NULL,
|
||||
`accid` int(11) NOT NULL,
|
||||
`price` int(11) NOT NULL,
|
||||
`points` int(11) NOT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `znote_paygol` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`account_id` int(11) NOT NULL,
|
||||
`price` int(11) NOT NULL,
|
||||
`points` int(11) NOT NULL,
|
||||
`message_id` varchar(255) NOT NULL,
|
||||
`service_id` varchar(255) NOT NULL,
|
||||
`shortcode` varchar(255) NOT NULL,
|
||||
`keyword` varchar(255) NOT NULL,
|
||||
`message` varchar(255) NOT NULL,
|
||||
`sender` varchar(255) NOT NULL,
|
||||
`operator` varchar(255) NOT NULL,
|
||||
`country` varchar(255) NOT NULL,
|
||||
`currency` varchar(255) NOT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `znote_players` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`player_id` int(11) NOT NULL,
|
||||
`created` int(11) NOT NULL,
|
||||
`hide_char` tinyint(4) NOT NULL,
|
||||
`comment` varchar(255) NOT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `znote_player_reports` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`name` varchar(50) NOT NULL,
|
||||
`posx` int(6) NOT NULL,
|
||||
`posy` int(6) NOT NULL,
|
||||
`posz` int(6) NOT NULL,
|
||||
`report_description` VARCHAR(255) NOT NULL,
|
||||
`date` INT(11) NOT NULL,
|
||||
`status` TINYINT(3) NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `znote_changelog` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`text` VARCHAR(255) NOT NULL,
|
||||
`time` INT(11) NOT NULL,
|
||||
`report_id` INT(11) NOT NULL,
|
||||
`status` TINYINT(3) NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `znote_shop` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`type` int(11) NOT NULL,
|
||||
`itemid` int(11) DEFAULT NULL,
|
||||
`count` int(11) NOT NULL DEFAULT '1',
|
||||
`description` varchar(255) NOT NULL,
|
||||
`points` int(11) NOT NULL DEFAULT '10',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `znote_shop_logs` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`account_id` int(11) NOT NULL,
|
||||
`player_id` int(11) NOT NULL,
|
||||
`type` int(11) NOT NULL,
|
||||
`itemid` int(11) NOT NULL,
|
||||
`count` int(11) NOT NULL,
|
||||
`points` int(11) NOT NULL,
|
||||
`time` int(11) NOT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `znote_shop_orders` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`account_id` int(11) NOT NULL,
|
||||
`type` int(11) NOT NULL,
|
||||
`itemid` int(11) NOT NULL,
|
||||
`count` int(11) NOT NULL,
|
||||
`time` int(11) NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `znote_visitors` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`ip` bigint(20) NOT NULL,
|
||||
`value` int(11) NOT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `znote_visitors_details` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`ip` bigint(20) NOT NULL,
|
||||
`time` int(11) NOT NULL,
|
||||
`type` tinyint(4) NOT NULL,
|
||||
`account_id` int(11) NOT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
-- Forum 1/3 (boards)
|
||||
CREATE TABLE IF NOT EXISTS `znote_forum` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`name` varchar(50) NOT NULL,
|
||||
`access` tinyint(4) NOT NULL,
|
||||
`closed` tinyint(4) NOT NULL,
|
||||
`hidden` tinyint(4) NOT NULL,
|
||||
`guild_id` int(11) NOT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
-- Forum 2/3 (threads)
|
||||
CREATE TABLE IF NOT EXISTS `znote_forum_threads` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`forum_id` int(11) NOT NULL,
|
||||
`player_id` int(11) NOT NULL,
|
||||
`player_name` varchar(50) NOT NULL,
|
||||
`title` varchar(50) NOT NULL,
|
||||
`text` text NOT NULL,
|
||||
`created` int(11) NOT NULL,
|
||||
`updated` int(11) NOT NULL,
|
||||
`sticky` tinyint(4) NOT NULL,
|
||||
`hidden` tinyint(4) NOT NULL,
|
||||
`closed` tinyint(4) NOT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
-- Forum 3/3 (posts)
|
||||
CREATE TABLE IF NOT EXISTS `znote_forum_posts` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`thread_id` int(11) NOT NULL,
|
||||
`player_id` int(11) NOT NULL,
|
||||
`player_name` varchar(50) NOT NULL,
|
||||
`text` text NOT NULL,
|
||||
`created` int(11) NOT NULL,
|
||||
`updated` int(11) NOT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
-- Pending characters for deletion
|
||||
CREATE TABLE IF NOT EXISTS `znote_deleted_characters` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`original_account_id` int(11) NOT NULL,
|
||||
`character_name` varchar(255) NOT NULL,
|
||||
`time` datetime NOT NULL,
|
||||
`done` tinyint(1) NOT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `znote_guild_wars` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`limit` int(11) NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`id`),
|
||||
FOREIGN KEY (`id`) REFERENCES `guild_wars` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
-- Helpdesk system
|
||||
CREATE TABLE IF NOT EXISTS `znote_tickets` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`owner` int(11) NOT NULL,
|
||||
`username` varchar(32) CHARACTER SET latin1 NOT NULL,
|
||||
`subject` text CHARACTER SET latin1 NOT NULL,
|
||||
`message` text CHARACTER SET latin1 NOT NULL,
|
||||
`ip` bigint(20) NOT NULL,
|
||||
`creation` int(11) NOT NULL,
|
||||
`status` varchar(20) CHARACTER SET latin1 NOT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `znote_tickets_replies` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`tid` int(11) NOT NULL,
|
||||
`username` varchar(32) CHARACTER SET latin1 NOT NULL,
|
||||
`message` text CHARACTER SET latin1 NOT NULL,
|
||||
`created` int(11) NOT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `znote_global_storage` (
|
||||
`key` VARCHAR(32) NOT NULL,
|
||||
`value` TEXT NOT NULL,
|
||||
UNIQUE (`key`)
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
-- Character auction system
|
||||
CREATE TABLE IF NOT EXISTS `znote_auction_player` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`player_id` int(11) NOT NULL,
|
||||
`original_account_id` int(11) NOT NULL,
|
||||
`bidder_account_id` int(11) NOT NULL,
|
||||
`time_begin` int(11) NOT NULL,
|
||||
`time_end` int(11) NOT NULL,
|
||||
`price` int(11) NOT NULL,
|
||||
`bid` int(11) NOT NULL,
|
||||
`deposit` int(11) NOT NULL,
|
||||
`sold` tinyint(1) NOT NULL,
|
||||
`claimed` tinyint(1) NOT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
-- Populate basic info
|
||||
INSERT INTO `znote` (`version`, `installed`) VALUES
|
||||
(@znote_version, UNIX_TIMESTAMP(CURDATE()));
|
||||
|
||||
-- Add default forum boards
|
||||
INSERT INTO `znote_forum` (`name`, `access`, `closed`, `hidden`, `guild_id`) VALUES
|
||||
('Staff Board', '4', '0', '0', '0'),
|
||||
('Tutors Board', '2', '0', '0', '0'),
|
||||
('Discussion', '1', '0', '0', '0'),
|
||||
('Feedback', '1', '0', '1', '0');
|
||||
|
||||
-- Convert existing accounts in database to be Znote AAC compatible
|
||||
INSERT INTO `znote_accounts` (`account_id`, `ip`, `created`, `flag`)
|
||||
SELECT
|
||||
`a`.`id` AS `account_id`,
|
||||
0 AS `ip`,
|
||||
UNIX_TIMESTAMP(CURDATE()) AS `created`,
|
||||
'' AS `flag`
|
||||
FROM `accounts` AS `a`
|
||||
LEFT JOIN `znote_accounts` AS `z`
|
||||
ON `a`.`id` = `z`.`account_id`
|
||||
WHERE `z`.`created` IS NULL;
|
||||
|
||||
-- Convert existing players in database to be Znote AAC compatible
|
||||
INSERT INTO `znote_players` (`player_id`, `created`, `hide_char`, `comment`)
|
||||
SELECT
|
||||
`p`.`id` AS `player_id`,
|
||||
UNIX_TIMESTAMP(CURDATE()) AS `created`,
|
||||
0 AS `hide_char`,
|
||||
'' AS `comment`
|
||||
FROM `players` AS `p`
|
||||
LEFT JOIN `znote_players` AS `z`
|
||||
ON `p`.`id` = `z`.`player_id`
|
||||
WHERE `z`.`created` IS NULL;
|
||||
|
||||
-- Delete duplicate account records
|
||||
DELETE `d` FROM `znote_accounts` AS `d`
|
||||
INNER JOIN (
|
||||
SELECT `i`.`account_id`,
|
||||
MAX(`i`.`id`) AS `retain`
|
||||
FROM `znote_accounts` AS `i`
|
||||
GROUP BY `i`.`account_id`
|
||||
HAVING COUNT(`i`.`id`) > 1
|
||||
) AS `x`
|
||||
ON `d`.`account_id` = `x`.`account_id`
|
||||
AND `d`.`id` != `x`.`retain`;
|
||||
|
||||
-- Delete duplicate player records
|
||||
DELETE `d` FROM `znote_players` AS `d`
|
||||
INNER JOIN (
|
||||
SELECT `i`.`player_id`,
|
||||
MAX(`i`.`id`) AS `retain`
|
||||
FROM `znote_players` AS `i`
|
||||
GROUP BY `i`.`player_id`
|
||||
HAVING COUNT(`i`.`id`) > 1
|
||||
) AS `x`
|
||||
ON `d`.`player_id` = `x`.`player_id`
|
||||
AND `d`.`id` != `x`.`retain`;
|
||||
|
||||
-- End of Znote AAC database schema
|
Loading…
x
Reference in New Issue
Block a user