[Guida] Rispristinare il database di PlotMe

Ciao a tutti.
Ieri ho avuto a che fare con il database di PlotMe del server di @BaluMonster, e ho deciso di postare qui una piccola guida per risolvere i vari problemi che erano accaduti.
Qui scriverò direttamente le query da dare nel database, se volete usare un'interfaccia grafica consiglio phpMyAdmin in caso il database fosse salvato tramite MySQL o SQLite Manager (estensione di Firefox) in caso il database fosse salvato tramite SQLite.

NON MI ASSUNO RESPONSABILITÀ IN CASO LE QUERY ROVININO I DATABASE
Esse sono testate e funzionanti su database SQLite, ma un uso inproprio potrebbe rovinare il database di PlotMe.
Fare sempre un backup prima di iniziare e in caso di dubbi chiedete pure.



Pulizia del database
Prima di eseguire qualsiasi cosa è bene pulire il database da mondi inesistenti.
Infatti quando si cancellano mondi vecchi essi rimangono nel database, rendendolo più pesante e più difficile da gestire.

Per prima cosa si guardano i mondi presenti nel database con la query sotto:
Codice:
SELECT DISTINCT world FROM plotmePlots
Essa restituirà una lista di tutti i mondi registrati da PlotMe.

Annotarsi solo quelli che volete siano salvati ed eseguite queste query, ricordandovi di sostituire 'mondo_da_salvare_1', 'mondo_da_salvare_2' con i mondi che volete mantenere:
Codice:
DELETE FROM plotmeAllowed WHERE world NOT IN ('mondo_da_salvare_1', 'mondo_da_salvare_2');
DELETE FROM plotmeComments WHERE world NOT IN ('mondo_da_salvare_1', 'mondo_da_salvare_2');
DELETE FROM plotmeDenied WHERE world NOT IN ('mondo_da_salvare_1', 'mondo_da_salvare_2');
DELETE FROM plotmePlots WHERE world NOT IN ('mondo_da_salvare_1', 'mondo_da_salvare_2');



Rinominare un mondo
Dopo aver spostato o rinominato un mondo con MultiVerse/MultiWorld si può notare che le informazioni sui plot sono sparite: questo è dovuto al fatto che le informazioni di PlotMe sono salvate nel database riferite ai singoli mondi.

Le query sotto sono scritte supponendo che il vecchio mondo si chiami vecchio e il nuovo mondo si chiami nuovo. In caso i nomi non coincidono (cioé sempre) sostituirli nelle query con i valori esatti.

Codice:
UPDATE plotmeAllowed SET world = 'nuovo' WHERE world = 'vecchio';
UPDATE plotmeComments SET world = 'nuovo' WHERE world = 'vecchio';
UPDATE plotmeDenied SET world = 'nuovo' WHERE world = 'vecchio';
UPDATE plotmePlots SET world = 'nuovo' WHERE world = 'vecchio';



Spero le guide siano state utili Smile
In caso servano a molti potrei pensare di fare uno script Python automatizzato, quindi se vi serve chiedetelo Wink
3 utenti apprezzano questo post
Ottima guida Wink
Non rispondo a richieste di supporto in privato!

Moderatore&Neswer
Sviluppatore

Discussioni simili
Ultimo: craftcri_
15/10/2017, 10:31
Ultimo: zSk3py_
03/10/2017, 21:09
Ultimo: zDestroh_
30/09/2017, 20:21
 
[Problema] PlotMe
Ultimo: LelloYT
29/09/2017, 20:59
Ultimo: LelloYT
23/09/2017, 18:08

Utente(i) che stanno guardando questa discussione: 1 Ospite(i)