• Vítejte na XBMC-Kodi.cz
  • Česko-slovenská komunita fanoušků XBMC/Kodi
Vítejte návštevníku! Přihlášení Registrace


Hodnocení tématu:
  • 3 Hlas(ů) - 3 Průměr
  • 1
  • 2
  • 3
  • 4
  • 5
Centrální knihovna s pomocí MySQL databáze
(10.10.2017, 17:43)Bartyx Napsal(a): Lidi nevím jestli už se to řešilo, ale je možné knihovnu nějak spravovat, pokud je na MySQL? Třeba nahrál jsem si celou knihovnu ze SC addonu a teď bych například rád odstranil všechny filmy z roku 1999. Je to nějak možné přímo přes phpMyAdmina? Když bych tam ty tabulky prostě smazal, vyhodí mi to filmy napříč zařízeními?

Myslím, že čistčí způsob by byl skript na odstranění složek na základě roku a pak v kodi spustit pročištění knihovny.

Nicméně by to mělo jít i přes SQL (doporučuji HeidiSQL a komplet data nejprve zálohovat). Pokud bys chtěl hledat filmy podle roku, pak asi podle pole premiered v tabulce movie. Příklad pro vyhledání filmů z roku 2016:

Kód:
SELECT *
FROM (files RIGHT JOIN movie ON files.idFile = movie.idFile) LEFT JOIN path ON files.idPath = path.idPath
WHERE ((movie.premiered)="2016");

Odstraňovací dotaz pak například:
Kód:
DELETE movie, files, path
FROM (files RIGHT JOIN movie ON files.idFile = movie.idFile) LEFT JOIN path ON files.idPath = path.idPath
WHERE ((movie.premiered)="2016");

V databázi je spousta dalších informací a o jejich odstranění se starají trigery, např. pro odstranění movie je tento:
Kód:
BEGIN
DELETE FROM genre_link WHERE media_id=old.idMovie AND media_type='movie';
DELETE FROM actor_link WHERE media_id=old.idMovie AND media_type='movie';
DELETE FROM director_link WHERE media_id=old.idMovie AND media_type='movie';
DELETE FROM studio_link WHERE media_id=old.idMovie AND media_type='movie';
DELETE FROM country_link WHERE media_id=old.idMovie AND media_type='movie';
DELETE FROM writer_link WHERE media_id=old.idMovie AND media_type='movie';
DELETE FROM movielinktvshow WHERE idMovie=old.idMovie;
DELETE FROM art WHERE media_id=old.idMovie AND media_type='movie';
DELETE FROM tag_link WHERE media_id=old.idMovie AND media_type='movie';
DELETE FROM rating WHERE media_id=old.idMovie AND media_type='movie';
DELETE FROM uniqueid WHERE media_id=old.idMovie AND media_type='movie';
END

Při nefunkčním trigeru stačí výše odstraňovací dotazy upravit třeba takto:
Kód:
DELETE studio_link FROM studio_link WHERE media_type='movie' AND media_id NOT IN (SELECT idMovie FROM movie);
DELETE studio FROM studio WHERE studio_id NOT IN (SELECT studio_id FROM studio_link);
DELETE country_link FROM country_link WHERE media_type ='movie' AND media_id NOT IN (SELECT idMovie FROM movie)
..
..
..
atd.;

@optimas

Když v centru balíčků na synology rozklikneš balíček phpMyAdmin, tak v sekci Další informace je zobrazena URL pro spuštění (ip synology). U obou databází MariaDB 5 i 10 se mění heslo přístupu k db taky v nastavení nalíčku. Mělo by to šlapat.
 
Citovat
  


Příspěvků v tématu
RE: Centrální knihovna s pomocí MySQL databáze - od avoova - 11.10.2017, 20:32

Přejít na fórum:


Prochází: 10 host(ů)