Skip to content

Commit

Permalink
Fix #87 CityID not found and possible fix for #58 Inconsistent chunk …
Browse files Browse the repository at this point in the history
…after /city delete
  • Loading branch information
joserobjr committed Nov 14, 2016
1 parent dcadcfd commit 31739f1
Show file tree
Hide file tree
Showing 3 changed files with 232 additions and 24 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@

public class SQLSource implements IDataSource
{
private static final int VERSION = 6;
private static final int VERSION = 7;

@NotNull
public final MineCity mineCity;
Expand Down
46 changes: 23 additions & 23 deletions Core/src/main/resources/assets/minecity/db/setup.sql
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,15 @@ CREATE TABLE `minecity_world` (
`perm_denial_message` varchar(255) NULL DEFAULT NULL ,
PRIMARY KEY (`world_id`),
UNIQUE INDEX `world_dir` (`dim`, `world`) USING BTREE
);
) ENGINE=InnoDB;

CREATE TABLE `minecity_players` (
`player_id` int NOT NULL AUTO_INCREMENT ,
`player_uuid` binary(16) NOT NULL ,
`player_name` varchar(16) NOT NULL ,
PRIMARY KEY (`player_id`),
UNIQUE INDEX `player_uuid` (`player_uuid`)
);
) ENGINE=InnoDB;

CREATE TABLE `minecity_city` (
`city_id` int(11) NOT NULL AUTO_INCREMENT ,
Expand All @@ -35,7 +35,7 @@ PRIMARY KEY (`city_id`),
CONSTRAINT `city_owner` FOREIGN KEY (`owner`) REFERENCES `minecity_players` (`player_id`) ON DELETE SET NULL ON UPDATE CASCADE,
CONSTRAINT `city_world_spawn` FOREIGN KEY (`spawn_world`) REFERENCES `minecity_world` (`world_id`) ON DELETE RESTRICT ON UPDATE CASCADE,
UNIQUE INDEX `city_name` (`name`)
);
) ENGINE=InnoDB;

CREATE TABLE `minecity_islands` (
`island_id` int NOT NULL AUTO_INCREMENT ,
Expand All @@ -44,7 +44,7 @@ CREATE TABLE `minecity_islands` (
PRIMARY KEY (`island_id`),
CONSTRAINT `island_world` FOREIGN KEY (`world_id`) REFERENCES `minecity_world` (`world_id`) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT `island_city` FOREIGN KEY (`city_id`) REFERENCES `minecity_city` (`city_id`) ON DELETE CASCADE ON UPDATE CASCADE
);
) ENGINE=InnoDB;

CREATE TABLE `minecity_chunks` (
`world_id` int NOT NULL ,
Expand All @@ -55,7 +55,7 @@ CREATE TABLE `minecity_chunks` (
PRIMARY KEY (`world_id`, `x`, `z`),
CONSTRAINT `chunk_world` FOREIGN KEY (`world_id`) REFERENCES `minecity_world` (`world_id`) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT `chunk_island` FOREIGN KEY (`island_id`) REFERENCES `minecity_islands` (`island_id`) ON DELETE CASCADE ON UPDATE CASCADE
);
) ENGINE=InnoDB;

CREATE TABLE `minecity_entities` (
`entity_id` int NOT NULL AUTO_INCREMENT ,
Expand All @@ -70,7 +70,7 @@ CREATE TABLE `minecity_entities` (
PRIMARY KEY (`entity_id`),
CONSTRAINT `entity_world` FOREIGN KEY (`last_world`) REFERENCES `minecity_world` (`world_id`) ON DELETE SET NULL ON UPDATE CASCADE,
UNIQUE INDEX `entity_uuid` (`entity_uuid`)
)
) ENGINE=InnoDB
;

CREATE TABLE `minecity_groups` (
Expand All @@ -81,7 +81,7 @@ CREATE TABLE `minecity_groups` (
PRIMARY KEY (`group_id`),
CONSTRAINT `group_city` FOREIGN KEY (`city_id`) REFERENCES `minecity_city` (`city_id`) ON DELETE CASCADE ON UPDATE CASCADE,
UNIQUE INDEX `group_name` (`city_id`, `name`)
)
) ENGINE=InnoDB
;

CREATE TABLE `minecity_group_players` (
Expand All @@ -90,7 +90,7 @@ CREATE TABLE `minecity_group_players` (
PRIMARY KEY (`group_id`, `player_id`),
CONSTRAINT `group_players_group` FOREIGN KEY (`group_id`) REFERENCES `minecity_groups` (`group_id`) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT `group_players_player` FOREIGN KEY (`player_id`) REFERENCES `minecity_players` (`player_id`) ON DELETE CASCADE ON UPDATE CASCADE
)
) ENGINE=InnoDB
;

CREATE TABLE `minecity_group_entities` (
Expand All @@ -99,7 +99,7 @@ CREATE TABLE `minecity_group_entities` (
PRIMARY KEY (`group_id`, `entity_id`),
CONSTRAINT `group_entities_group` FOREIGN KEY (`group_id`) REFERENCES `minecity_groups` (`group_id`) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT `group_entities_entity` FOREIGN KEY (`entity_id`) REFERENCES `minecity_entities` (`entity_id`) ON DELETE CASCADE ON UPDATE CASCADE
)
) ENGINE=InnoDB
;

CREATE TABLE `minecity_city_perm_defaults` (
Expand All @@ -108,7 +108,7 @@ CREATE TABLE `minecity_city_perm_defaults` (
`message` varchar(100) NULL ,
PRIMARY KEY (`city_id`, `perm`),
CONSTRAINT `city_perm_defaults` FOREIGN KEY (`city_id`) REFERENCES `minecity_city` (`city_id`) ON DELETE CASCADE ON UPDATE CASCADE
)
) ENGINE=InnoDB
;

CREATE TABLE `minecity_city_perm_player` (
Expand All @@ -120,7 +120,7 @@ CREATE TABLE `minecity_city_perm_player` (
PRIMARY KEY (`city_id`, `player_id`, `perm`),
CONSTRAINT `city_perm_player_city` FOREIGN KEY (`city_id`) REFERENCES `minecity_city` (`city_id`) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT `city_perm_player_player` FOREIGN KEY (`player_id`) REFERENCES `minecity_players` (`player_id`) ON DELETE CASCADE ON UPDATE CASCADE
)
) ENGINE=InnoDB
;

CREATE TABLE `minecity_city_perm_entity` (
Expand All @@ -132,7 +132,7 @@ CREATE TABLE `minecity_city_perm_entity` (
PRIMARY KEY (`city_id`, `entity_id`, `perm`),
CONSTRAINT `city_perm_entity_city` FOREIGN KEY (`city_id`) REFERENCES `minecity_city` (`city_id`) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT `city_perm_entity_entity` FOREIGN KEY (`entity_id`) REFERENCES `minecity_entities` (`entity_id`) ON DELETE CASCADE ON UPDATE CASCADE
)
) ENGINE=InnoDB
;

CREATE TABLE `minecity_city_perm_group` (
Expand All @@ -144,7 +144,7 @@ CREATE TABLE `minecity_city_perm_group` (
PRIMARY KEY (`city_id`, `group_id`, `perm`),
CONSTRAINT `city_perm_group_city` FOREIGN KEY (`city_id`) REFERENCES `minecity_city` (`city_id`) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT `city_perm_group_group` FOREIGN KEY (`group_id`) REFERENCES `minecity_groups` (`group_id`) ON DELETE CASCADE ON UPDATE CASCADE
)
) ENGINE=InnoDB
;

CREATE TABLE `minecity_group_managers` (
Expand All @@ -153,7 +153,7 @@ CREATE TABLE `minecity_group_managers` (
PRIMARY KEY (`group_id`, `player_id`),
CONSTRAINT `group_managers_group` FOREIGN KEY (`group_id`) REFERENCES `minecity_groups` (`group_id`) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT `group_managers_player` FOREIGN KEY (`player_id`) REFERENCES `minecity_players` (`player_id`) ON DELETE CASCADE ON UPDATE CASCADE
)
) ENGINE=InnoDB
;

CREATE TABLE `minecity_plots` (
Expand All @@ -176,7 +176,7 @@ CREATE TABLE `minecity_plots` (
PRIMARY KEY (`plot_id`),
CONSTRAINT `plot_island` FOREIGN KEY (`island_id`) REFERENCES `minecity_islands` (`island_id`) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT `plot_owner` FOREIGN KEY (`owner`) REFERENCES `minecity_players` (`player_id`) ON DELETE SET NULL ON UPDATE CASCADE
)
) ENGINE=InnoDB
;

CREATE TABLE `minecity_plot_perm_defaults` (
Expand All @@ -185,7 +185,7 @@ CREATE TABLE `minecity_plot_perm_defaults` (
`message` varchar(100) NULL ,
PRIMARY KEY (`plot_id`, `perm`),
CONSTRAINT `plot_perm_plot` FOREIGN KEY (`plot_id`) REFERENCES `minecity_plots` (`plot_id`) ON DELETE CASCADE ON UPDATE CASCADE
)
) ENGINE=InnoDB
;

CREATE TABLE `minecity_plot_perm_player` (
Expand All @@ -197,7 +197,7 @@ CREATE TABLE `minecity_plot_perm_player` (
PRIMARY KEY (`plot_id`, `player_id`, `perm`),
CONSTRAINT `plot_perm_player_plot` FOREIGN KEY (`plot_id`) REFERENCES `minecity_plots` (`plot_id`) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT `plot_perm_player_player` FOREIGN KEY (`player_id`) REFERENCES `minecity_players` (`player_id`) ON DELETE CASCADE ON UPDATE CASCADE
)
) ENGINE=InnoDB
;

CREATE TABLE `minecity_plot_perm_entity` (
Expand All @@ -209,7 +209,7 @@ CREATE TABLE `minecity_plot_perm_entity` (
PRIMARY KEY (`plot_id`, `entity_id`, `perm`),
CONSTRAINT `plot_perm_entity_plot` FOREIGN KEY (`plot_id`) REFERENCES `minecity_plots` (`plot_id`) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT `plot_perm_entity_entity` FOREIGN KEY (`entity_id`) REFERENCES `minecity_entities` (`entity_id`) ON DELETE CASCADE ON UPDATE CASCADE
)
) ENGINE=InnoDB
;

CREATE TABLE `minecity_plot_perm_group` (
Expand All @@ -221,7 +221,7 @@ CREATE TABLE `minecity_plot_perm_group` (
PRIMARY KEY (`plot_id`, `group_id`, `perm`),
CONSTRAINT `plot_perm_group_plot` FOREIGN KEY (`plot_id`) REFERENCES `minecity_plots` (`plot_id`) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT `plot_perm_group_entity` FOREIGN KEY (`group_id`) REFERENCES `minecity_groups` (`group_id`) ON DELETE CASCADE ON UPDATE CASCADE
)
) ENGINE=InnoDB
;

CREATE TABLE `minecity_world_perm_defaults` (
Expand All @@ -230,13 +230,13 @@ CREATE TABLE `minecity_world_perm_defaults` (
`message` varchar(100) NULL ,
PRIMARY KEY (`world_id`, `perm`),
CONSTRAINT `world_perm_world` FOREIGN KEY (`world_id`) REFERENCES `minecity_world` (`world_id`) ON DELETE CASCADE ON UPDATE CASCADE
)
) ENGINE=InnoDB
;

CREATE TABLE `minecity_setup` (
`property` enum('version') NOT NULL ,
`value` enum('6') NOT NULL DEFAULT '6' ,
`value` enum('7') NOT NULL DEFAULT '7' ,
PRIMARY KEY (`property`)
);
) ENGINE=MyISAM;

INSERT INTO `minecity_setup` VALUES('version', '6');
INSERT INTO `minecity_setup` VALUES('version', '7');
Loading

0 comments on commit 31739f1

Please sign in to comment.