Přejmenování databáze s nadefinovanými views nelze provést

Pokud člověk potřebuje přejmenovat databázi a má nadefinované views, tak přejmenování např. v Admineru selže (právě kvůli těm views, protože pomocí RENAME TABLE se sice view dá přejmenovat, ale jen v rámci jedné databáze). 
Kdyby se to někdy někomu hodilo (jako mně dneska), tady je na to utilitka: http://projekty.vize.name/renameDb.zip (záloha na MůjSkript.cz zde)

Funguje takto: 
– vytvoří databázi s novým jménem 
– přesune do ní normální tabulky 
– views zkopíruje do nové DB 
Stará databáze zůstane včetně views. Dá se to spustit nasucho, kdy se jen vypíší SQL dotazy, které by se provedly. Neumí to zkopírovat nadefinované procedury, možná někdy příště.

Napsané to je pro PHP 5.4, je potřeba si přilinkovat dibi (buď uložit dibi.min.php do stejné složky, anebo se dají ve skriptu nastavit nějaké výchozí hodnoty včetně cesty k dibi). Kód je výsledkem postupu „rychle naprasit aby to fungovalo a nebylo s tím moc práce“ a „trochu to pak uklidit, aby se neřeklo“, tak to podle toho berte.

 

Autor: Tori

Zdroj: http://diskuse.jakpsatweb.cz/?action=vthread&forum=18&topic=158559#4

Napište komentář!