/** * EQEmulator: Everquest Server Emulator * Copyright (C) 2001-2019 EQEmulator Development Team (https://github.com/EQEmu/Server) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; version 2 of the License. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY except by those people which sell it, which * are required to give you total support for your newly bought product; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR * A PARTICULAR PURPOSE. See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * */ #ifndef EQEMU_DATABASE_SCHEMA_H #define EQEMU_DATABASE_SCHEMA_H #include #include namespace DatabaseSchema { /** * Character-specific tables * * Does not included related meta-data tables such as 'guilds', 'accounts' * @return */ static std::map GetCharacterTables() { return { {"adventure_stats", "player_id"}, {"char_recipe_list", "char_id"}, {"character_activities", "charid"}, {"character_alt_currency", "char_id"}, {"character_alternate_abilities", "id"}, {"character_auras", "id"}, {"character_bandolier", "id"}, {"character_bind", "id"}, {"character_buffs", "character_id"}, {"character_corpses", "id"}, {"character_currency", "id"}, {"character_data", "id"}, {"character_disciplines", "id"}, {"character_enabledtasks", "charid"}, {"character_expedition_lockouts", "character_id"}, {"character_exp_modifiers", "character_id"}, {"character_evolving_items", "character_id"}, {"character_inspect_messages", "id"}, {"character_instance_safereturns", "character_id"}, {"character_item_recast", "id"}, {"character_languages", "id"}, {"character_leadership_abilities", "id"}, {"character_material", "id"}, {"character_memmed_spells", "id"}, {"character_parcels", "char_id"}, {"character_parcels_containers", "id"}, {"character_pet_buffs", "char_id"}, {"character_pet_info", "char_id"}, {"character_pet_inventory", "char_id"}, {"character_pet_name", "character_id"}, {"character_peqzone_flags", "id"}, {"character_potionbelt", "id"}, {"character_skills", "id"}, {"character_spells", "id"}, {"character_stats_record", "character_id"}, {"character_task_timers", "character_id"}, {"character_tasks", "charid"}, {"character_tribute", "character_id"}, {"completed_tasks", "charid"}, {"data_buckets", "character_id"}, {"faction_values", "char_id"}, {"friends", "charid"}, {"guild_members", "char_id"}, {"guilds", "id"}, {"instance_list_player", "id"}, {"inventory", "character_id"}, {"inventory_snapshots", "charid"}, {"keyring", "char_id"}, {"mail", "charid"}, {"player_titlesets", "char_id"}, {"quest_globals", "charid"}, {"timers", "char_id"}, {"trader", "char_id"}, {"zone_flags", "charID"} }; } /** * @description Gets all player and meta-data tables * @note These tables have no content in the PEQ daily dump * * @return */ static std::vector GetPlayerTables() { return { "account", "account_ip", "account_flags", "account_rewards", "adventure_details", "adventure_stats", "buyer", "buyer_buy_lines", "buyer_trade_items", "char_recipe_list", "character_activities", "character_alt_currency", "character_alternate_abilities", "character_auras", "character_bandolier", "character_bind", "character_buffs", "character_corpse_items", "character_corpses", "character_currency", "character_data", "character_disciplines", "character_enabledtasks", "character_expedition_lockouts", "character_exp_modifiers", "character_evolving_items", "character_inspect_messages", "character_instance_safereturns", "character_item_recast", "character_languages", "character_leadership_abilities", "character_material", "character_memmed_spells", "character_parcels", "character_parcels_containers", "character_pet_buffs", "character_pet_info", "character_pet_inventory", "character_pet_name", "character_peqzone_flags", "character_potionbelt", "character_skills", "character_spells", "character_stats_record", "character_task_timers", "character_tasks", "character_tribute", "completed_tasks", "data_buckets", "discovered_items", "faction_values", "friends", "guild_bank", "guild_members", "guild_permissions", "guild_ranks", "guild_relations", "guild_tributes", "guilds", "instance_list_player", "inventory", "inventory_snapshots", "keyring", "mail", "petitions", "player_titlesets", "quest_globals", "sharedbank", "spell_buckets", "spell_globals", "timers", "trader", "trader_audit", "zone_flags" }; } /** * Gets content tables * * @return */ static std::vector GetContentTables() { return { "aa_ability", "aa_rank_effects", "aa_rank_prereqs", "aa_ranks", "adventure_template", "adventure_template_entry", "adventure_template_entry_flavor", "alternate_currency", "auras", "base_data", "blocked_spells", "books", "char_create_combinations", "char_create_point_allocations", "damageshieldtypes", "doors", "dynamic_zone_templates", "faction_association", "faction_base_data", "faction_list", "faction_list_mod", "fishing", "forage", "global_loot", "graveyard", "grid", "grid_entries", "ground_spawns", "horses", "items", "items_evolving_details", "ldon_trap_entries", "ldon_trap_templates", "lootdrop", "lootdrop_entries", "loottable", "loottable_entries", "merchantlist", "npc_emotes", "npc_faction", "npc_faction_entries", "npc_scale_global_base", "npc_spells", "npc_spells_effects", "npc_spells_effects_entries", "npc_spells_entries", "npc_types", "npc_types_tint", "object", "pets", "pets_beastlord_data", "pets_equipmentset", "pets_equipmentset_entries", "skill_caps", "spawn2", "spawn_conditions", "spawnentry", "spawngroup", "spells_new", "start_zones", "starting_items", "task_activities", "tasks", "tasksets", "tradeskill_recipe", "tradeskill_recipe_entries", "traps", "tribute_levels", "tributes", "veteran_reward_templates", "zone", "zone_points", }; } /** * Gets server tables * * @return */ static std::vector GetServerTables() { return { "chatchannels", "chatchannel_reserved_names", "command_settings", "command_subsettings", "content_flags", "db_str", "eqtime", "launcher", "launcher_zones", "spawn_condition_values", "spawn_events", "level_exp_mods", "logsys_categories", "name_filter", "perl_event_export_settings", "profanity_list", "rule_sets", "titles", "rule_values", "variables", }; } /** * Gets state tables * Tables that keep track of server state * * @return */ static std::vector GetStateTables() { return { "adventure_members", "banned_ips", "bug_reports", "bugs", "buyer", "buyer_buy_lines", "buyer_trade_items", "completed_shared_task_activity_state", "completed_shared_task_members", "completed_shared_tasks", "discord_webhooks", "dynamic_zone_lockouts", "dynamic_zone_members", "dynamic_zones", "gm_ips", "group_id", "group_leaders", "instance_list", "ip_exemptions", "lfguild", "merc_buffs", "merchantlist_temp", "mercs", "object_contents", "raid_details", "raid_leaders", "raid_members", "reports", "respawn_times", "saylink", "server_scheduled_events", "spawn2_disabled", "player_event_aa_purchase", "player_event_killed_npc", "player_event_killed_named_npc", "player_event_killed_raid_npc", "player_event_log_settings", "player_event_logs", "player_event_loot_items", "player_event_merchant_purchase", "player_event_merchant_sell", "player_event_npc_handin", "player_event_npc_handin_entries", "player_event_speech", "player_event_trade", "player_event_trade_entries", "shared_task_activity_state", "shared_task_dynamic_zones", "shared_task_members", "shared_tasks", "zone_state_spawns", }; } /** * Gets login tables * * @return */ static std::vector GetLoginTables() { return { "login_accounts", "login_api_tokens", "login_server_admins", "login_server_list_types", "login_world_servers", }; } /** * Gets login tables * * @return */ static std::vector GetVersionTables() { return { "db_version", "inventory_versions", }; } /** * @description Gets all player bot tables * @note These tables have no content in the PEQ daily dump * * @return */ static std::vector GetBotTables() { return { "bot_blocked_buffs", "bot_buffs", "bot_command_settings", "bot_create_combinations", "bot_data", "bot_heal_rotation_members", "bot_heal_rotation_targets", "bot_heal_rotations", "bot_inspect_messages", "bot_inventories", "bot_owner_options", "bot_pet_buffs", "bot_pet_inventories", "bot_pets", "bot_settings", "bot_spell_casting_chances", "bot_spell_settings", "bot_spells_entries", "bot_stances", "bot_timers" }; } static std::vector GetMercTables() { return { "merc_armorinfo", "merc_inventory", "merc_merchant_entries", "merc_merchant_template_entries", "merc_merchant_templates", "merc_name_types", "merc_npc_types", "merc_spell_list_entries", "merc_spell_lists", "merc_stance_entries", "merc_stats", "merc_subtypes", "merc_templates", "merc_types", "merc_weaponinfo" }; } } #endif //EQEMU_DATABASE_SCHEMA_H