-
-
Notifications
You must be signed in to change notification settings - Fork 171
Database management
This article covers how to modify data in the database.
- Moving data from SQLite to MySQL
- Moving to Online only UUIDs from Offline UUIDs
- Backup and restore
- Removing a player
- Removing a server
- Resetting one server's data
- Removing data of a bot attack
- Removing ALL data
Perhaps you want to migrate the database to MySQL. Note: Moving data REMOVES ALL DATA FROM THE RECEIVING DATABASE.
- Set up your MySQL
- Set
Database.Type
back as SQLite until the move has completed, make sure your MySQL works before this. - Run
/plan db move SQLite MySQL
/plan reload
Same works in reverse for MySQL to SQLite!
If you're moving to online-mode after long offline-mode run, or if you accidentally misconfigured UUIDs and Plan has gathered duplicate players with 2 different UUIDs, no worries!
- Run
/plan db migrate_to_online_uuids
to have Plan combine the entries - If you would also like to remove offline players that don't have an online UUID at all, use
/plan db migrate_to_online_uuids --remove_offline
- To back up the current database run
/plan db backup
- To restore from a backup use
/plan db restore <backup file name>
. You can tab complete the file names.
Command /plan db remove <player>
, takes the name or UUID of the player to be removed.
Command /plan unregister <username>
, takes the username of the web user. You can use /plan users
to list the users and linked player names.
Command /plan db uninstalled <server>
, takes id, name or UUID of the server to be removed. You can use /plan servers
to get the IDs.
Maybe you have multiple servers in your network so /plan db clear
is not good (it deletes ALL data).
- Remove
/plugins/Plan/ServerInfoFile.yml
of the server you want to reset -
/plan reload
that server to get a new UUID for the server -
/plan db uninstalled <old server>
to remove the old server. You can use/plan servers
to get the IDs.
A bot attack usually messes up the peak calculations. Removing that data needs manual SQL query to the database.
Removing bot users who did not join game servers:
DELETE FROM plan_users WHERE uuid NOT IN (SELECT DISTINCT uuid FROM plan_sessions);
Removing bad tps data:
DELETE FROM plan_tps WHERE date>{start} AND date<{end} AND players_online>{above value};
Replace the variables in {square brackets}
(remove the brackets as well)
-
start
is epoch millisecond of the start time of the attack -
end
is epoch millisecond of the end time of the attack -
above value
should be above 0, use it to further limit what data is removed.
To remove all data run /plan db clear
.
All Plan instances connected to the database need to be reloaded afterwards as the missing server records will cause errors in running instances.
If you wish to uninstall Plan entirely use DROP DATABASE Plan;
in MySQL instead.