Ankledork
Active User
- Dołączył
- Luty 2, 2011
- Posty
- 128
- Liczba reakcji
- 12
"cykliczne czyszczenie bazy danych"
aktualna wersja publiczna
aktualna wersja publiczna
Skrypt ma na zadanie sprz?ta? brudy w bazie danych, czyli nieaktualne postacie (mniejszy poziom ni? 100, i ostatnie zalogowanie po 30 dniach), puste konta (czyli bez postaci), puste domy (czyli, z?e przypisanie, dom nale?y do postaci, kt?rej nie ma w bazie danych). Wszystko robi si? automatycznie (cyklicznie), czyli domy?lnie przy w??czeniu serwera. Wszystko napisane wy??cznie przeze mnie - autor Ankledork.
PHP:
<?xml version="1.0" encoding="UTF-8"?>
<mod name="cykliczne czyszczenie bazy danych!" version="#PUBLIC-VERSION#" author="Ankledork" contact="ankledork@gmail.com" enabled="yes">
<globalevent name="globalevent.cleanup.start" type="start" event="script">
<![CDATA[
globalevent = { cleanup = {}, logs = {}, comments = {} }
globalevent.cleanup.queries = {
"DELETE FROM `players` WHERE `level` < 100 AND `id` > 6 AND `group_id` = 1 AND `lastlogin` < ".. (os.time() - 30 * 24 * 60 * 60) ..";",
"DELETE FROM `accounts` WHERE `id` NOT IN (SELECT `account_id` FROM `players`);",
"UPDATE `houses` SET `owner` = 0 WHERE `owner` > 0 AND `owner` NOT IN (SELECT `id` FROM `players`);"
}
function onStartup()
for i = 0, #globalevent.cleanup.queries do
db.executeQuery(globalevent.cleanup.queries[i])
end return true
end
]]>
</globalevent>
</mod>
Dzi?kuje, wasz Ankledork.