mirror of
https://github.com/EngineHub/WorldGuard.git
synced 2024-11-27 21:15:57 +01:00
115 lines
5.0 KiB
SQL
115 lines
5.0 KiB
SQL
--
|
|
-- This file only needs to be run if you are using a very old version
|
|
-- of the region database (before 2011/03/25).
|
|
--
|
|
-- Otherwise, WG knows how to update your tables automatically, as well
|
|
-- as set them up initially.
|
|
--
|
|
|
|
SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
|
|
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
|
|
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL';
|
|
|
|
ALTER TABLE `region_cuboid` DROP FOREIGN KEY `fk_region_cuboid_region` ;
|
|
|
|
ALTER TABLE `region_flag` DROP FOREIGN KEY `fk_flags_region1` ;
|
|
|
|
ALTER TABLE `region_groups` DROP FOREIGN KEY `fk_region_groups_region` ;
|
|
|
|
ALTER TABLE `region_players` DROP FOREIGN KEY `fk_region_players_user` , DROP FOREIGN KEY `fk_region_players_region` ;
|
|
|
|
ALTER TABLE `region_poly2d` DROP FOREIGN KEY `fk_region_poly2d_region` ;
|
|
|
|
ALTER TABLE `region_poly2d_point` DROP FOREIGN KEY `fk_region_poly2d_point_region_poly2d` ;
|
|
|
|
ALTER TABLE `group` COLLATE = utf8_bin ;
|
|
|
|
ALTER TABLE `region_cuboid` COLLATE = utf8_bin , ADD COLUMN `world_id` INT(10) UNSIGNED NOT NULL AFTER `region_id` , CHANGE COLUMN `min_x` `min_x` BIGINT(20) NOT NULL AFTER `world_id` , CHANGE COLUMN `min_y` `min_y` BIGINT(20) NOT NULL AFTER `min_x` , CHANGE COLUMN `max_x` `max_x` BIGINT(20) NOT NULL AFTER `min_z` , CHANGE COLUMN `max_y` `max_y` BIGINT(20) NOT NULL AFTER `max_x` ,
|
|
ADD CONSTRAINT `fk_region_cuboid_region`
|
|
FOREIGN KEY (`region_id` , `world_id` )
|
|
REFERENCES `region` (`id` , `world_id` )
|
|
ON DELETE CASCADE
|
|
ON UPDATE CASCADE
|
|
, DROP PRIMARY KEY
|
|
, ADD PRIMARY KEY (`region_id`, `world_id`) ;
|
|
|
|
ALTER TABLE `region_flag` COLLATE = utf8_bin , ADD COLUMN `world_id` INT(10) UNSIGNED NOT NULL AFTER `region_id` , CHANGE COLUMN `flag` `flag` VARCHAR(45) CHARACTER SET 'utf8' COLLATE 'utf8_bin' NOT NULL ,
|
|
ADD CONSTRAINT `fk_flags_region`
|
|
FOREIGN KEY (`region_id` , `world_id` )
|
|
REFERENCES `region` (`id` , `world_id` )
|
|
ON DELETE CASCADE
|
|
ON UPDATE CASCADE
|
|
, DROP INDEX `fk_flags_region`
|
|
, ADD INDEX `fk_flags_region` (`region_id` ASC, `world_id` ASC) ;
|
|
|
|
ALTER TABLE `region_groups` COLLATE = utf8_bin , ADD COLUMN `world_id` INT(10) UNSIGNED NOT NULL AFTER `region_id` , DROP FOREIGN KEY `fk_region_groups_group` ;
|
|
|
|
ALTER TABLE `region_groups`
|
|
ADD CONSTRAINT `fk_region_groups_group`
|
|
FOREIGN KEY (`group_id` )
|
|
REFERENCES `group` (`id` )
|
|
ON DELETE CASCADE
|
|
ON UPDATE CASCADE,
|
|
ADD CONSTRAINT `fk_region_groups_region`
|
|
FOREIGN KEY (`region_id` , `world_id` )
|
|
REFERENCES `region` (`id` , `world_id` )
|
|
ON DELETE CASCADE
|
|
ON UPDATE CASCADE
|
|
, DROP PRIMARY KEY
|
|
, ADD PRIMARY KEY (`region_id`, `world_id`, `group_id`) ;
|
|
|
|
ALTER TABLE `region_players` COLLATE = utf8_bin , ADD COLUMN `world_id` INT(10) UNSIGNED NOT NULL AFTER `region_id` ,
|
|
ADD CONSTRAINT `fk_region_users_region`
|
|
FOREIGN KEY (`region_id` , `world_id` )
|
|
REFERENCES `region` (`id` , `world_id` )
|
|
ON DELETE CASCADE
|
|
ON UPDATE CASCADE,
|
|
ADD CONSTRAINT `fk_region_users_user`
|
|
FOREIGN KEY (`user_id` )
|
|
REFERENCES `user` (`id` )
|
|
ON DELETE CASCADE
|
|
ON UPDATE CASCADE
|
|
, DROP PRIMARY KEY
|
|
, ADD PRIMARY KEY (`region_id`, `world_id`, `user_id`)
|
|
, ADD INDEX `fk_region_users_user` (`user_id` ASC)
|
|
, DROP INDEX `fk_region_players_user` ;
|
|
|
|
ALTER TABLE `region_poly2d` COLLATE = utf8_bin , ADD COLUMN `world_id` INT(10) UNSIGNED NOT NULL AFTER `region_id` , CHANGE COLUMN `min_y` `min_y` INT(11) NOT NULL AFTER `world_id` ,
|
|
ADD CONSTRAINT `fk_region_poly2d_region`
|
|
FOREIGN KEY (`region_id` , `world_id` )
|
|
REFERENCES `region` (`id` , `world_id` )
|
|
ON DELETE CASCADE
|
|
ON UPDATE CASCADE
|
|
, DROP PRIMARY KEY
|
|
, ADD PRIMARY KEY (`region_id`, `world_id`) ;
|
|
|
|
ALTER TABLE `region_poly2d_point` COLLATE = utf8_bin , ADD COLUMN `world_id` INT(10) UNSIGNED NOT NULL AFTER `region_id` , CHANGE COLUMN `x` `x` BIGINT(20) NOT NULL AFTER `world_id` ,
|
|
ADD CONSTRAINT `fk_region_poly2d_point_region_poly2d`
|
|
FOREIGN KEY (`region_id` , `world_id` )
|
|
REFERENCES `region_poly2d` (`region_id` , `world_id` )
|
|
ON DELETE CASCADE
|
|
ON UPDATE CASCADE
|
|
, DROP INDEX `fk_region_poly2d_point_region_poly2d`
|
|
, ADD INDEX `fk_region_poly2d_point_region_poly2d` (`region_id` ASC, `world_id` ASC) ;
|
|
|
|
ALTER TABLE `user` COLLATE = utf8_bin ;
|
|
|
|
ALTER TABLE `world` COLLATE = utf8_bin ;
|
|
|
|
|
|
UPDATE `region_cuboid` AS c SET c.`world_id` = (SELECT p.`world_id` FROM `region` AS p WHERE p.`id` = c.`region_id`);
|
|
|
|
UPDATE `region_flag` AS c SET c.`world_id` = (SELECT p.`world_id` FROM `region` AS p WHERE p.`id` = c.`region_id`);
|
|
|
|
UPDATE `region_groups` AS c SET c.`world_id` = (SELECT p.`world_id` FROM `region` AS p WHERE p.`id` = c.`region_id`);
|
|
|
|
UPDATE `region_players` AS c SET c.`world_id` = (SELECT p.`world_id` FROM `region` AS p WHERE p.`id` = c.`region_id`);
|
|
|
|
UPDATE `region_poly2d` AS c SET c.`world_id` = (SELECT p.`world_id` FROM `region` AS p WHERE p.`id` = c.`region_id`);
|
|
|
|
UPDATE `region_poly2d_point` AS c SET c.`world_id` = (SELECT p.`world_id` FROM `region` AS p WHERE p.`id` = c.`region_id`);
|
|
|
|
SET SQL_MODE=@OLD_SQL_MODE;
|
|
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
|
|
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;
|