Split up state table dump

This commit is contained in:
Akkadius 2020-03-09 16:31:43 -05:00
parent 899e2d3397
commit 6438a37fb5
5 changed files with 66 additions and 32 deletions

View File

@ -188,12 +188,21 @@ std::string DatabaseDumpService::GetSystemTablesList()
tables_list += table + " "; tables_list += table + " ";
} }
tables = DatabaseSchema::GetStateTables(); tables = DatabaseSchema::GetVersionTables();
for (const auto &table : tables) { for (const auto &table : tables) {
tables_list += table + " "; tables_list += table + " ";
} }
tables = DatabaseSchema::GetVersionTables(); return trim(tables_list);
}
/**
* @return
*/
std::string DatabaseDumpService::GetStateTablesList()
{
std::string tables_list;
std::vector<std::string> tables = DatabaseSchema::GetStateTables();
for (const auto &table : tables) { for (const auto &table : tables) {
tables_list += table + " "; tables_list += table + " ";
} }
@ -300,6 +309,11 @@ void DatabaseDumpService::Dump()
dump_descriptor += "-system"; dump_descriptor += "-system";
} }
if (IsDumpStateTables()) {
tables_to_dump += GetStateTablesList() + " ";
dump_descriptor += "-state";
}
if (IsDumpContentTables()) { if (IsDumpContentTables()) {
tables_to_dump += GetContentTablesList() + " "; tables_to_dump += GetContentTablesList() + " ";
dump_descriptor += "-content"; dump_descriptor += "-content";
@ -526,3 +540,13 @@ void DatabaseDumpService::SetDumpDropTableSyntaxOnly(bool dump_drop_table_syntax
{ {
DatabaseDumpService::dump_drop_table_syntax_only = dump_drop_table_syntax_only; DatabaseDumpService::dump_drop_table_syntax_only = dump_drop_table_syntax_only;
} }
bool DatabaseDumpService::IsDumpStateTables() const
{
return dump_state_tables;
}
void DatabaseDumpService::SetDumpStateTables(bool dump_state_tables)
{
DatabaseDumpService::dump_state_tables = dump_state_tables;
}

View File

@ -51,19 +51,22 @@ public:
void SetDumpOutputToConsole(bool dump_output_to_console); void SetDumpOutputToConsole(bool dump_output_to_console);
bool IsDumpDropTableSyntaxOnly() const; bool IsDumpDropTableSyntaxOnly() const;
void SetDumpDropTableSyntaxOnly(bool dump_drop_table_syntax_only); void SetDumpDropTableSyntaxOnly(bool dump_drop_table_syntax_only);
bool IsDumpStateTables() const;
void SetDumpStateTables(bool dump_state_tables);
private: private:
bool dump_all_tables = false; bool dump_all_tables = false;
bool dump_system_tables = false; bool dump_state_tables = false;
bool dump_content_tables = false; bool dump_system_tables = false;
bool dump_player_tables = false; bool dump_content_tables = false;
bool dump_query_server_tables = false; bool dump_player_tables = false;
bool dump_login_server_tables = false; bool dump_query_server_tables = false;
bool dump_with_no_data = false; bool dump_login_server_tables = false;
bool dump_table_lock = false; bool dump_with_no_data = false;
bool dump_with_compression = false; bool dump_table_lock = false;
bool dump_output_to_console = false; bool dump_with_compression = false;
bool dump_drop_table_syntax_only = false; bool dump_output_to_console = false;
bool dump_drop_table_syntax_only = false;
std::string dump_path; std::string dump_path;
std::string dump_file_name; std::string dump_file_name;
@ -73,6 +76,7 @@ private:
std::string GetBaseMySQLDumpCommand(); std::string GetBaseMySQLDumpCommand();
std::string GetPlayerTablesList(); std::string GetPlayerTablesList();
std::string GetSystemTablesList(); std::string GetSystemTablesList();
std::string GetStateTablesList();
std::string GetContentTablesList(); std::string GetContentTablesList();
std::string GetLoginTableList(); std::string GetLoginTableList();
bool IsTarAvailable(); bool IsTarAvailable();

View File

@ -99,8 +99,6 @@ namespace DatabaseSchema {
"account_rewards", "account_rewards",
"adventure_details", "adventure_details",
"adventure_stats", "adventure_stats",
"bugs",
"bug_reports",
"buyer", "buyer",
"char_recipe_list", "char_recipe_list",
"character_activities", "character_activities",
@ -133,7 +131,6 @@ namespace DatabaseSchema {
"completed_tasks", "completed_tasks",
"data_buckets", "data_buckets",
"discovered_items", "discovered_items",
"eventlog",
"faction_values", "faction_values",
"friends", "friends",
"guild_bank", "guild_bank",
@ -149,9 +146,9 @@ namespace DatabaseSchema {
"petitions", "petitions",
"player_titlesets", "player_titlesets",
"quest_globals", "quest_globals",
"saylink",
"sharedbank", "sharedbank",
"reports", "spell_buckets",
"spell_globals",
"timers", "timers",
"titles", "titles",
"trader", "trader",
@ -263,6 +260,7 @@ namespace DatabaseSchema {
{ {
return { return {
"banned_ips", "banned_ips",
"chatchannels",
"command_settings", "command_settings",
"db_str", "db_str",
"eqtime", "eqtime",
@ -318,7 +316,9 @@ namespace DatabaseSchema {
{ {
return { return {
"adventure_members", "adventure_members",
"chatchannels", "bugs",
"bug_reports",
"eventlog",
"group_id", "group_id",
"group_leaders", "group_leaders",
"item_tick", "item_tick",
@ -329,8 +329,9 @@ namespace DatabaseSchema {
"raid_leaders", "raid_leaders",
"raid_members", "raid_members",
"respawn_times", "respawn_times",
"spell_buckets", "reports",
"spell_globals", "saylink",
}; };
} }

View File

@ -34,14 +34,16 @@ bash -c "${world_bin} database:dump --content-tables --drop-table-syntax-only --
bash -c "${world_bin} database:dump --login-tables --drop-table-syntax-only --dump-output-to-console > ${dump_path}drop_tables_login.sql" bash -c "${world_bin} database:dump --login-tables --drop-table-syntax-only --dump-output-to-console > ${dump_path}drop_tables_login.sql"
bash -c "${world_bin} database:dump --player-tables --drop-table-syntax-only --dump-output-to-console > ${dump_path}drop_tables_player.sql" bash -c "${world_bin} database:dump --player-tables --drop-table-syntax-only --dump-output-to-console > ${dump_path}drop_tables_player.sql"
bash -c "${world_bin} database:dump --system-tables --drop-table-syntax-only --dump-output-to-console > ${dump_path}drop_tables_system.sql" bash -c "${world_bin} database:dump --system-tables --drop-table-syntax-only --dump-output-to-console > ${dump_path}drop_tables_system.sql"
bash -c "${world_bin} database:dump --state-tables --drop-table-syntax-only --dump-output-to-console > ${dump_path}drop_tables_state.sql"
bash -c "${world_bin} database:dump --query-serv-tables --drop-table-syntax-only --dump-output-to-console > ${dump_path}drop_tables_queryserv.sql" bash -c "${world_bin} database:dump --query-serv-tables --drop-table-syntax-only --dump-output-to-console > ${dump_path}drop_tables_queryserv.sql"
############################################# #############################################
# generate "create_" table files # generate "create_" table files
############################################# #############################################
bash -c "${world_bin} database:dump --content-tables --dump-output-to-console > ${dump_path}create_tables_content.sql" bash -c "${world_bin} database:dump --login-tables --table-structure-only --dump-output-to-console | sed 's/ AUTO_INCREMENT=[0-9]*\b//g' > ${dump_path}create_tables_login.sql"
bash -c "${world_bin} database:dump --login-tables --table-structure-only --dump-output-to-console > ${dump_path}create_tables_login.sql" bash -c "${world_bin} database:dump --player-tables --table-structure-only --dump-output-to-console | sed 's/ AUTO_INCREMENT=[0-9]*\b//g' > ${dump_path}create_tables_player.sql"
bash -c "${world_bin} database:dump --player-tables --table-structure-only --dump-output-to-console > ${dump_path}create_tables_player.sql" bash -c "${world_bin} database:dump --state-tables --table-structure-only --dump-output-to-console | sed 's/ AUTO_INCREMENT=[0-9]*\b//g' > ${dump_path}create_tables_state.sql"
bash -c "${world_bin} database:dump --system-tables --dump-output-to-console > ${dump_path}create_tables_system.sql" bash -c "${world_bin} database:dump --query-serv-tables --table-structure-only --dump-output-to-console | sed 's/ AUTO_INCREMENT=[0-9]*\b//g' > ${dump_path}create_tables_queryserv.sql"
bash -c "${world_bin} database:dump --query-serv-tables --table-structure-only --dump-output-to-console > ${dump_path}create_tables_queryserv.sql"
bash -c "${world_bin} database:dump --content-tables --dump-output-to-console > ${dump_path}create_tables_content.sql"
bash -c "${world_bin} database:dump --system-tables --dump-output-to-console > ${dump_path}create_tables_system.sql"

View File

@ -224,6 +224,7 @@ namespace WorldserverCommandHandler {
"--content-tables", "--content-tables",
"--login-tables", "--login-tables",
"--player-tables", "--player-tables",
"--state-tables",
"--system-tables", "--system-tables",
"--query-serv-tables", "--query-serv-tables",
"--table-structure-only", "--table-structure-only",
@ -250,13 +251,15 @@ namespace WorldserverCommandHandler {
/** /**
* Set Option * Set Option
*/ */
database_dump_service->SetDumpContentTables(cmd[{"-c", "--content-tables"}] || dump_all); database_dump_service->SetDumpContentTables(cmd[{"--content-tables"}] || dump_all);
database_dump_service->SetDumpLoginServerTables(cmd[{"-c", "--login-tables"}] || dump_all); database_dump_service->SetDumpLoginServerTables(cmd[{"--login-tables"}] || dump_all);
database_dump_service->SetDumpPlayerTables(cmd[{"-c", "--player-tables"}] || dump_all); database_dump_service->SetDumpPlayerTables(cmd[{"--player-tables"}] || dump_all);
database_dump_service->SetDumpSystemTables(cmd[{"-c", "--system-tables"}] || dump_all); database_dump_service->SetDumpStateTables(cmd[{"--state-tables"}] || dump_all);
database_dump_service->SetDumpWithNoData(cmd[{"-c", "--table-structure-only"}]); database_dump_service->SetDumpSystemTables(cmd[{"--system-tables"}] || dump_all);
database_dump_service->SetDumpQueryServerTables(cmd[{"--query-serv-tables"}]); database_dump_service->SetDumpQueryServerTables(cmd[{"--query-serv-tables"}] || dump_all);
database_dump_service->SetDumpAllTables(dump_all); database_dump_service->SetDumpAllTables(dump_all);
database_dump_service->SetDumpWithNoData(cmd[{"--table-structure-only"}]);
database_dump_service->SetDumpTableLock(cmd[{"--table-lock"}]); database_dump_service->SetDumpTableLock(cmd[{"--table-lock"}]);
database_dump_service->SetDumpWithCompression(cmd[{"--compress"}]); database_dump_service->SetDumpWithCompression(cmd[{"--compress"}]);
database_dump_service->SetDumpOutputToConsole(cmd[{"--dump-output-to-console"}]); database_dump_service->SetDumpOutputToConsole(cmd[{"--dump-output-to-console"}]);