diff --git a/db/database_schema.sql b/db/database_schema.sql new file mode 100644 index 0000000..20ff80f --- /dev/null +++ b/db/database_schema.sql @@ -0,0 +1,674 @@ +/*M!999999\- enable the sandbox mode */ +-- MariaDB dump 10.19 Distrib 10.11.14-MariaDB, for debian-linux-gnu (x86_64) +-- +-- Host: 127.0.0.1 Database: app_38676 +-- ------------------------------------------------------ +-- Server version 10.11.14-MariaDB-0+deb12u2 + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!40101 SET NAMES utf8mb4 */; +/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; +/*!40103 SET TIME_ZONE='+00:00' */; +/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; +/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; +/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; +/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; + +-- +-- Table structure for table `badges` +-- + +DROP TABLE IF EXISTS `badges`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8mb4 */; +CREATE TABLE `badges` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `image_url` varchar(255) NOT NULL, + `name` varchar(255) NOT NULL, + `slug` varchar(255) NOT NULL, + `allowed_user_type` varchar(50) DEFAULT 'all', + `required_level` int(11) DEFAULT 0, + PRIMARY KEY (`id`), + UNIQUE KEY `slug` (`slug`) +) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `celestial_object_status_profiles` +-- + +DROP TABLE IF EXISTS `celestial_object_status_profiles`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8mb4 */; +CREATE TABLE `celestial_object_status_profiles` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `name` varchar(255) NOT NULL, + `slug` varchar(255) NOT NULL, + `enabled` tinyint(1) DEFAULT 1, + `priority` int(11) DEFAULT 0, + `scope_object_type` varchar(50) DEFAULT NULL, + `config` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`config`)), + `created_at` timestamp NULL DEFAULT current_timestamp(), + `updated_at` timestamp NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(), + PRIMARY KEY (`id`), + UNIQUE KEY `slug` (`slug`) +) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `celestial_object_status_rules` +-- + +DROP TABLE IF EXISTS `celestial_object_status_rules`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8mb4 */; +CREATE TABLE `celestial_object_status_rules` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `name` varchar(255) NOT NULL, + `status_id` int(11) NOT NULL, + `profile_id` int(11) NOT NULL, + `priority` int(11) DEFAULT 0, + `orbital_count_op` varchar(10) DEFAULT NULL, + `orbital_count_val` int(11) DEFAULT NULL, + `terrestrial_count_op` varchar(10) DEFAULT NULL, + `terrestrial_count_val` int(11) DEFAULT NULL, + `orbital_dominance` text DEFAULT NULL, + `terrestrial_dominance` text DEFAULT NULL, + `is_empty_case` tinyint(1) DEFAULT 0, + `combine_mode` varchar(50) DEFAULT 'AND', + `is_active` tinyint(1) DEFAULT 1, + PRIMARY KEY (`id`), + KEY `status_id` (`status_id`), + KEY `profile_id` (`profile_id`), + CONSTRAINT `celestial_object_status_rules_ibfk_1` FOREIGN KEY (`status_id`) REFERENCES `celestial_object_statuses` (`id`) ON DELETE CASCADE, + CONSTRAINT `celestial_object_status_rules_ibfk_2` FOREIGN KEY (`profile_id`) REFERENCES `celestial_object_status_profiles` (`id`) ON DELETE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `celestial_object_statuses` +-- + +DROP TABLE IF EXISTS `celestial_object_statuses`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8mb4 */; +CREATE TABLE `celestial_object_statuses` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `name` varchar(255) NOT NULL, + `slug` varchar(50) NOT NULL, + `color` varchar(50) DEFAULT NULL, + `description` text DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `slug` (`slug`) +) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `celestial_object_type_modifiers` +-- + +DROP TABLE IF EXISTS `celestial_object_type_modifiers`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8mb4 */; +CREATE TABLE `celestial_object_type_modifiers` ( + `celestial_object_type_id` int(11) NOT NULL, + `modifier_id` int(11) NOT NULL, + PRIMARY KEY (`celestial_object_type_id`,`modifier_id`), + KEY `modifier_id` (`modifier_id`), + CONSTRAINT `celestial_object_type_modifiers_ibfk_1` FOREIGN KEY (`celestial_object_type_id`) REFERENCES `celestial_object_types` (`id`) ON DELETE CASCADE, + CONSTRAINT `celestial_object_type_modifiers_ibfk_2` FOREIGN KEY (`modifier_id`) REFERENCES `modifiers` (`id`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `celestial_object_types` +-- + +DROP TABLE IF EXISTS `celestial_object_types`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8mb4 */; +CREATE TABLE `celestial_object_types` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `name` varchar(255) NOT NULL, + `slug` varchar(50) NOT NULL, + `icon` varchar(50) DEFAULT NULL, + `description` text DEFAULT NULL, + `image_url` varchar(255) DEFAULT NULL, + `orbital_control_enabled` tinyint(1) DEFAULT 1, + `terrestrial_control_enabled` tinyint(1) DEFAULT 1, + `status_profile_id` int(11) DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `slug` (`slug`) +) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `cities` +-- + +DROP TABLE IF EXISTS `cities`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8mb4 */; +CREATE TABLE `cities` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `planet_id` int(11) DEFAULT NULL, + `name` varchar(255) DEFAULT NULL, + `settlement_type_id` int(11) DEFAULT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `city_faction_control` +-- + +DROP TABLE IF EXISTS `city_faction_control`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8mb4 */; +CREATE TABLE `city_faction_control` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `city_id` int(11) DEFAULT NULL, + `faction_id` int(11) DEFAULT NULL, + `control_level` int(11) DEFAULT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=42 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `faction_alliances` +-- + +DROP TABLE IF EXISTS `faction_alliances`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8mb4 */; +CREATE TABLE `faction_alliances` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `faction_id_1` int(11) NOT NULL, + `faction_id_2` int(11) NOT NULL, + `created_at` timestamp NULL DEFAULT current_timestamp(), + PRIMARY KEY (`id`), + UNIQUE KEY `unique_alliance` (`faction_id_1`,`faction_id_2`), + KEY `faction_id_2` (`faction_id_2`), + CONSTRAINT `faction_alliances_ibfk_1` FOREIGN KEY (`faction_id_1`) REFERENCES `factions` (`id`) ON DELETE CASCADE, + CONSTRAINT `faction_alliances_ibfk_2` FOREIGN KEY (`faction_id_2`) REFERENCES `factions` (`id`) ON DELETE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `factions` +-- + +DROP TABLE IF EXISTS `factions`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8mb4 */; +CREATE TABLE `factions` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `name` varchar(100) NOT NULL, + `image_url` varchar(255) DEFAULT NULL, + `fa_icon` varchar(50) DEFAULT NULL, + `color` varchar(7) DEFAULT '#808080', + `created_at` timestamp NULL DEFAULT current_timestamp(), + `slug` varchar(50) DEFAULT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `game_resources` +-- + +DROP TABLE IF EXISTS `game_resources`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8mb4 */; +CREATE TABLE `game_resources` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `name` varchar(255) NOT NULL, + `slug` varchar(255) NOT NULL, + `icon` varchar(100) DEFAULT NULL, + `image_url` varchar(255) DEFAULT NULL, + `description` text DEFAULT NULL, + `created_at` timestamp NULL DEFAULT current_timestamp(), + `show_in_header` tinyint(1) DEFAULT 0, + PRIMARY KEY (`id`), + UNIQUE KEY `slug` (`slug`) +) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `grades` +-- + +DROP TABLE IF EXISTS `grades`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8mb4 */; +CREATE TABLE `grades` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `name` varchar(255) NOT NULL, + `slug` varchar(255) NOT NULL, + `user_type` varchar(50) DEFAULT NULL, + `min_level` int(11) DEFAULT NULL, + `max_level` int(11) DEFAULT NULL, + `level_id` int(11) DEFAULT 1, + `grade_name` varchar(100) DEFAULT 'New Grade', + `image_url` varchar(255) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `level_id` (`level_id`), + CONSTRAINT `grades_ibfk_1` FOREIGN KEY (`level_id`) REFERENCES `levels` (`id`) ON DELETE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `guild_creation_requirements` +-- + +DROP TABLE IF EXISTS `guild_creation_requirements`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8mb4 */; +CREATE TABLE `guild_creation_requirements` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `resource_id` int(11) NOT NULL, + `amount` int(11) NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `guild_members` +-- + +DROP TABLE IF EXISTS `guild_members`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8mb4 */; +CREATE TABLE `guild_members` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `guild_id` int(11) NOT NULL, + `user_id` int(11) NOT NULL, + `role` enum('superviseur','officier','membre','en attente') DEFAULT 'membre', + `joined_at` timestamp NULL DEFAULT current_timestamp(), + PRIMARY KEY (`id`), + UNIQUE KEY `user_id` (`user_id`), + KEY `guild_id` (`guild_id`), + CONSTRAINT `guild_members_ibfk_1` FOREIGN KEY (`guild_id`) REFERENCES `guilds` (`id`) ON DELETE CASCADE, + CONSTRAINT `guild_members_ibfk_2` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `guild_restrictions` +-- + +DROP TABLE IF EXISTS `guild_restrictions`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8mb4 */; +CREATE TABLE `guild_restrictions` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `restriction_key` varchar(255) NOT NULL, + `value` varchar(255) NOT NULL, + `description` text DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `restriction_key` (`restriction_key`) +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `guilds` +-- + +DROP TABLE IF EXISTS `guilds`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8mb4 */; +CREATE TABLE `guilds` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `name` varchar(255) NOT NULL, + `tag` varchar(10) NOT NULL, + `owner_id` int(11) NOT NULL, + `created_at` timestamp NULL DEFAULT current_timestamp(), + `description` text DEFAULT NULL, + `recruitment_status` enum('ouvert','validation','ferme') DEFAULT 'ouvert', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `levels` +-- + +DROP TABLE IF EXISTS `levels`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8mb4 */; +CREATE TABLE `levels` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `name` varchar(255) NOT NULL, + `slug` varchar(255) NOT NULL, + `resource_id` int(11) DEFAULT NULL, + `required_quantity` int(11) DEFAULT NULL, + `required_xp` int(11) DEFAULT 0, + `level_name` varchar(100) DEFAULT 'New Level', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `lootbox_items` +-- + +DROP TABLE IF EXISTS `lootbox_items`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8mb4 */; +CREATE TABLE `lootbox_items` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `lootbox_id` int(11) NOT NULL, + `resource_slug` varchar(255) DEFAULT NULL, + `probability` decimal(5,2) NOT NULL DEFAULT 0.00, + `quantity_min` int(11) NOT NULL DEFAULT 1, + `quantity_max` int(11) NOT NULL DEFAULT 1, + `is_guaranteed` tinyint(1) DEFAULT 0, + PRIMARY KEY (`id`), + KEY `lootbox_id` (`lootbox_id`), + KEY `resource_slug` (`resource_slug`), + CONSTRAINT `lootbox_items_ibfk_1` FOREIGN KEY (`lootbox_id`) REFERENCES `lootboxes` (`id`) ON DELETE CASCADE, + CONSTRAINT `lootbox_items_ibfk_2` FOREIGN KEY (`resource_slug`) REFERENCES `game_resources` (`slug`) ON DELETE SET NULL ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `lootbox_rolls` +-- + +DROP TABLE IF EXISTS `lootbox_rolls`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8mb4 */; +CREATE TABLE `lootbox_rolls` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `lootbox_id` int(11) NOT NULL, + `roll_count` int(11) NOT NULL DEFAULT 1, + `probability` decimal(5,2) NOT NULL DEFAULT 100.00, + PRIMARY KEY (`id`), + KEY `lootbox_id` (`lootbox_id`), + CONSTRAINT `lootbox_rolls_ibfk_1` FOREIGN KEY (`lootbox_id`) REFERENCES `lootboxes` (`id`) ON DELETE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `lootboxes` +-- + +DROP TABLE IF EXISTS `lootboxes`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8mb4 */; +CREATE TABLE `lootboxes` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `name` varchar(255) NOT NULL, + `slug` varchar(255) NOT NULL, + `description` text DEFAULT NULL, + `created_at` timestamp NULL DEFAULT current_timestamp(), + `is_guaranteed` tinyint(1) DEFAULT 0, + PRIMARY KEY (`id`), + UNIQUE KEY `slug` (`slug`) +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `modifiers` +-- + +DROP TABLE IF EXISTS `modifiers`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8mb4 */; +CREATE TABLE `modifiers` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `name` varchar(100) NOT NULL, + `type` enum('bonus','malus') NOT NULL, + `description` text DEFAULT NULL, + `icon` varchar(50) DEFAULT 'info-circle', + `slug` varchar(50) DEFAULT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `planet_faction_control` +-- + +DROP TABLE IF EXISTS `planet_faction_control`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8mb4 */; +CREATE TABLE `planet_faction_control` ( + `planet_id` int(11) NOT NULL, + `faction_id` int(11) NOT NULL, + `control_level` int(11) NOT NULL DEFAULT 0, + PRIMARY KEY (`planet_id`,`faction_id`), + KEY `fk_planet_faction_control_faction` (`faction_id`), + CONSTRAINT `fk_planet_faction_control_faction` FOREIGN KEY (`faction_id`) REFERENCES `factions` (`id`) ON DELETE CASCADE, + CONSTRAINT `fk_planet_faction_control_planet` FOREIGN KEY (`planet_id`) REFERENCES `planets` (`id`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `planets` +-- + +DROP TABLE IF EXISTS `planets`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8mb4 */; +CREATE TABLE `planets` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `galaxy_id` int(11) DEFAULT NULL, + `sector_id` int(11) DEFAULT NULL, + `slot` int(11) DEFAULT NULL, + `name` varchar(255) DEFAULT NULL, + `type` varchar(50) NOT NULL DEFAULT 'planet', + `status` varchar(50) NOT NULL DEFAULT 'stable', + `status_profile_id` int(11) DEFAULT NULL, + `faction_id` int(11) DEFAULT NULL, + `orbital_control` int(11) DEFAULT NULL, + `terrestrial_control` int(11) DEFAULT NULL, + `owner_faction_id` int(11) DEFAULT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `project_logs` +-- + +DROP TABLE IF EXISTS `project_logs`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8mb4 */; +CREATE TABLE `project_logs` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `version` varchar(50) NOT NULL, + `title` varchar(255) NOT NULL, + `content` text NOT NULL, + `created_at` timestamp NULL DEFAULT current_timestamp(), + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `sectors` +-- + +DROP TABLE IF EXISTS `sectors`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8mb4 */; +CREATE TABLE `sectors` ( + `id` int(11) NOT NULL, + `galaxy_id` int(11) DEFAULT NULL, + `name` varchar(255) DEFAULT NULL, + `status` varchar(50) DEFAULT 'unexplored', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `settlement_sizes` +-- + +DROP TABLE IF EXISTS `settlement_sizes`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8mb4 */; +CREATE TABLE `settlement_sizes` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `name` varchar(100) NOT NULL, + `slug` varchar(50) NOT NULL, + `description` text DEFAULT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `settlement_types` +-- + +DROP TABLE IF EXISTS `settlement_types`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8mb4 */; +CREATE TABLE `settlement_types` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `name` varchar(255) DEFAULT NULL, + `slug` varchar(255) DEFAULT NULL, + `description` text DEFAULT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `titles` +-- + +DROP TABLE IF EXISTS `titles`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8mb4 */; +CREATE TABLE `titles` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `name` varchar(255) NOT NULL, + `slug` varchar(255) NOT NULL, + `allowed_user_type` varchar(50) DEFAULT 'all', + `required_level` int(11) DEFAULT 0, + `color` varchar(7) DEFAULT '#ffffff', + PRIMARY KEY (`id`), + UNIQUE KEY `slug` (`slug`) +) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `unit_rewards` +-- + +DROP TABLE IF EXISTS `unit_rewards`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8mb4 */; +CREATE TABLE `unit_rewards` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `unit_id` int(11) NOT NULL, + `action_type` enum('destroy','capture') NOT NULL, + `lootbox_id` int(11) DEFAULT NULL, + `resource_id` int(11) DEFAULT NULL, + `amount` int(11) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `unit_id` (`unit_id`), + KEY `resource_id` (`resource_id`), + KEY `fk_unit_rewards_lootbox` (`lootbox_id`), + CONSTRAINT `fk_unit_rewards_lootbox` FOREIGN KEY (`lootbox_id`) REFERENCES `lootboxes` (`id`) ON DELETE SET NULL, + CONSTRAINT `unit_rewards_ibfk_1` FOREIGN KEY (`unit_id`) REFERENCES `units` (`id`) ON DELETE CASCADE, + CONSTRAINT `unit_rewards_ibfk_2` FOREIGN KEY (`resource_id`) REFERENCES `game_resources` (`id`) ON DELETE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `units` +-- + +DROP TABLE IF EXISTS `units`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8mb4 */; +CREATE TABLE `units` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `name` varchar(255) NOT NULL, + `slug` varchar(255) NOT NULL, + `image_url` varchar(255) DEFAULT NULL, + `grid_data` text DEFAULT NULL, + `faction_id` int(11) DEFAULT NULL, + `cost_resource_id` int(11) DEFAULT NULL, + `cost_amount` int(11) DEFAULT 1, + `can_be_destroyed` tinyint(1) DEFAULT 0, + `can_be_captured` tinyint(1) DEFAULT 0, + `points_per_hit` int(11) DEFAULT 1, + `bonus_destruction` int(11) DEFAULT 0, + `destruction_resource_id` int(11) DEFAULT NULL, + `destruction_amount` int(11) DEFAULT 0, + `bonus_capture` int(11) DEFAULT 0, + `capture_resource_id` int(11) DEFAULT NULL, + `capture_amount` int(11) DEFAULT 0, + `created_at` timestamp NULL DEFAULT current_timestamp(), + PRIMARY KEY (`id`), + UNIQUE KEY `slug` (`slug`), + KEY `faction_id` (`faction_id`), + CONSTRAINT `units_ibfk_1` FOREIGN KEY (`faction_id`) REFERENCES `factions` (`id`) ON DELETE SET NULL +) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `user_resources` +-- + +DROP TABLE IF EXISTS `user_resources`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8mb4 */; +CREATE TABLE `user_resources` ( + `user_id` int(11) NOT NULL, + `resource_id` int(11) NOT NULL, + `amount` bigint(20) unsigned NOT NULL DEFAULT 0, + `updated_at` timestamp NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(), + PRIMARY KEY (`user_id`,`resource_id`), + KEY `resource_id` (`resource_id`), + CONSTRAINT `user_resources_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE, + CONSTRAINT `user_resources_ibfk_2` FOREIGN KEY (`resource_id`) REFERENCES `game_resources` (`id`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `users` +-- + +DROP TABLE IF EXISTS `users`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8mb4 */; +CREATE TABLE `users` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `username` varchar(255) NOT NULL, + `email` varchar(255) NOT NULL, + `password` varchar(255) NOT NULL, + `role` varchar(50) DEFAULT 'user', + `last_login` timestamp NULL DEFAULT current_timestamp(), + `created_at` timestamp NULL DEFAULT current_timestamp(), + `user_type` varchar(50) DEFAULT 'user', + `level_id` int(11) DEFAULT 1, + `faction_id` int(11) DEFAULT NULL, + `display_name` varchar(255) DEFAULT NULL, + `selected_title_id` int(11) DEFAULT NULL, + `selected_badge_id` int(11) DEFAULT NULL, + `guild_id` int(11) DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `username` (`username`), + UNIQUE KEY `email` (`email`) +) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping routines for database 'app_38676' +-- +/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; + +/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; +/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; +/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; +/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; + +-- Dump completed on 2026-03-12 23:04:04