mirror of
https://github.com/EQEmu/Server.git
synced 2026-04-15 12:52:25 +00:00
[Database] Extend dumper CLI utility to export static instance data (#3562)
* [Database] Extend dumper CLI utility to export static instance data * Append * Append
This commit is contained in:
parent
ab04a4c6df
commit
c14a17e4de
@ -279,6 +279,11 @@ void DatabaseDumpService::DatabaseDump()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (IsDumpStaticInstanceData()) {
|
||||||
|
tables_to_dump += "instance_list";
|
||||||
|
options += " --no-create-info --where=\"instance_list.is_global > 0 and instance_list.never_expires > 0\"";
|
||||||
|
}
|
||||||
|
|
||||||
if (!dump_descriptor.empty()) {
|
if (!dump_descriptor.empty()) {
|
||||||
SetDumpFileName(GetDumpFileName() + dump_descriptor);
|
SetDumpFileName(GetDumpFileName() + dump_descriptor);
|
||||||
}
|
}
|
||||||
@ -606,3 +611,13 @@ void DatabaseDumpService::RemoveCredentialsFile()
|
|||||||
std::filesystem::remove(CREDENTIALS_FILE);
|
std::filesystem::remove(CREDENTIALS_FILE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool DatabaseDumpService::IsDumpStaticInstanceData()
|
||||||
|
{
|
||||||
|
return dump_static_instance_data;
|
||||||
|
}
|
||||||
|
|
||||||
|
void DatabaseDumpService::SetDumpStaticInstanceData(bool b)
|
||||||
|
{
|
||||||
|
dump_static_instance_data = b;
|
||||||
|
}
|
||||||
|
|||||||
@ -58,6 +58,9 @@ public:
|
|||||||
bool IsDumpMercTables() const;
|
bool IsDumpMercTables() const;
|
||||||
void SetDumpMercTables(bool dump_bot_tables);
|
void SetDumpMercTables(bool dump_bot_tables);
|
||||||
|
|
||||||
|
void SetDumpStaticInstanceData(bool b);
|
||||||
|
bool IsDumpStaticInstanceData();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
bool dump_all_tables = false;
|
bool dump_all_tables = false;
|
||||||
bool dump_state_tables = false;
|
bool dump_state_tables = false;
|
||||||
@ -73,6 +76,8 @@ private:
|
|||||||
bool dump_drop_table_syntax_only = false;
|
bool dump_drop_table_syntax_only = false;
|
||||||
bool dump_bot_tables = false;
|
bool dump_bot_tables = false;
|
||||||
bool dump_merc_tables = false;
|
bool dump_merc_tables = false;
|
||||||
|
bool dump_static_instance_data = false;
|
||||||
|
|
||||||
std::string dump_path;
|
std::string dump_path;
|
||||||
std::string dump_file_name;
|
std::string dump_file_name;
|
||||||
|
|
||||||
|
|||||||
@ -44,7 +44,7 @@ echo "Generating [create_*] table exports..."
|
|||||||
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 | sed 's/ AUTO_INCREMENT=[0-9]*\b//g' > ${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 | sed 's/ AUTO_INCREMENT=[0-9]*\b//g' > ${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 --state-tables --table-structure-only --dump-output-to-console | sed 's/ AUTO_INCREMENT=[0-9]*\b//g' > ${dump_path}create_tables_state.sql"
|
||||||
echo 'REPLACE INTO `instance_list` VALUES (1,25,1,1,0,0,1),(2,25,2,1,0,0,1),(3,151,1,1,0,0,1),(4,114,1,1,0,0,1),(5,344,1,1,0,0,1),(6,202,0,1,0,0,1);' >> "${dump_path}create_tables_state.sql"
|
bash -c "${world_bin} database:dump --static-instance-data --dump-output-to-console >> ${dump_path}create_tables_state.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 | sed 's/ AUTO_INCREMENT=[0-9]*\b//g' > ${dump_path}create_tables_queryserv.sql"
|
||||||
|
|
||||||
# with content
|
# with content
|
||||||
|
|||||||
@ -15,6 +15,7 @@ void WorldserverCLI::DatabaseDump(int argc, char **argv, argh::parser &cmd, std:
|
|||||||
"--state-tables",
|
"--state-tables",
|
||||||
"--system-tables",
|
"--system-tables",
|
||||||
"--query-serv-tables",
|
"--query-serv-tables",
|
||||||
|
"--static-instance-data",
|
||||||
"--table-structure-only",
|
"--table-structure-only",
|
||||||
"--table-lock",
|
"--table-lock",
|
||||||
"--dump-path=",
|
"--dump-path=",
|
||||||
@ -51,6 +52,7 @@ void WorldserverCLI::DatabaseDump(int argc, char **argv, argh::parser &cmd, std:
|
|||||||
s->SetDumpWithCompression(cmd[{"--compress"}]);
|
s->SetDumpWithCompression(cmd[{"--compress"}]);
|
||||||
s->SetDumpOutputToConsole(cmd[{"--dump-output-to-console"}]);
|
s->SetDumpOutputToConsole(cmd[{"--dump-output-to-console"}]);
|
||||||
s->SetDumpDropTableSyntaxOnly(cmd[{"--drop-table-syntax-only"}]);
|
s->SetDumpDropTableSyntaxOnly(cmd[{"--drop-table-syntax-only"}]);
|
||||||
|
s->SetDumpStaticInstanceData(cmd[{"--static-instance-data"}]);
|
||||||
|
|
||||||
s->DatabaseDump();
|
s->DatabaseDump();
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user