I'd like to propose making a single table for friends/ignore (character_social?) that holds both friends and ignore lists. Current tables look like this:
Code: Select all
CREATE TABLE `character_friendlist` (
`id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
`char_id` INT(10) UNSIGNED NOT NULL DEFAULT '0',
`name` VARCHAR(64) NOT NULL DEFAULT '',
PRIMARY KEY (`id`),
UNIQUE KEY `CharIDNameIdx` (`char_id`,`name`)
) ENGINE=MYISAMCode: Select all
CREATE TABLE `character_ignorelist` (
`id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
`char_id` INT(10) UNSIGNED NOT NULL DEFAULT '0',
`name` VARCHAR(64) NOT NULL DEFAULT '',
PRIMARY KEY (`id`),
UNIQUE KEY `CharNameIdx` (`char_id`,`name`)
) ENGINE=INNODBNew table (just a suggestion)
Code: Select all
CREATE TABLE `character_social` (
`id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
`char_id` INT(10) UNSIGNED NOT NULL DEFAULT '0',
`name` VARCHAR(64) NOT NULL DEFAULT '',
`type` TINYINT(1) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`),
UNIQUE KEY `CharNameIdx` (`char_id`,`name`)
) ENGINE=INNODBIf you do not see any issues with doing this, please go for it. Just trying to minimize the tables we're creating. We're out of control!