Adminer 4.7.3
Školení, která pořádám
Adminer 4.7.3 přináší tyto změny:
- Nově lze editovat cizí klíče ukazující na jinou databázi/schéma (bug #694). Dříve šlo tyto cizí klíče jen zobrazit a smazat. Ocením, pokud by to někdo otestoval v MS SQL a v Oracle, kde jsem to implementoval na slepo bez vyzkoušení.
- PHP zamyká soubor se session daty, takže s ním může pracovat jen jeden skript najednou. To vede k tomu, že pokud stejný uživatel otvírá více stránek najednou, tak se načítá vždy jen jedna. V Admineru to může být velký problém, protože běžně v jednom okně může běžet nějaký dlouhotrvající příkaz a v druhém chci dál pracovat. Adminer to řeší už od pradávna tím, že session uzavře v momentě, kdy se do ní zapíše to nejdůležitější. Pokud do ní potřebuje zapsat něco dalšího, tak si ji znovu otevře. To jde ale po odeslání výstupu udělat jen tehdy, pokud se session identifikátor nepřenáší v cookie. Adminer proto vypíná
session.use_cookies
. To jde ale od PHP 7.2 udělat jen tehdy, pokud už session není spuštěná. Nová verze Admineru proto mění pořadí, v jakém se zavře session a nastaví session.use_cookies
(bug #703).
- Předchozí verze začala v MySQL načítat informace o cizích klíčích z databáze
information_schema
. To je bohužel u velkých databází nesnesitelně pomalé. Nová verze proto vrací původní parsování výsledku SHOW CREATE TABLE
a opravuje drobnou chybu, která způsobila nezobrazení vícesloupcových cizích klíčů (bug #700).
- MySQL nedokáže správně zjistit rovnost desetinných čísel. Pokud sloupec
`test` float
obsahuje hodnotu -2508.37
, tak výraz `test` = -2508.37
je vždy nepravda. Adminer proto nově při editování záznamů používá `test` LIKE '-2508.37'
(bug #695).
- Nové verze MySQL podporují generované sloupce. Adminer je nově nenabízí v editaci (PR #359).
- V SQLite jde do
integer
sloupců ukládat libovolné řetězce. Adminer je proto nově v exportu ohraničuje apostrofy (bug #696).
- Složitější změnu struktury tabulky (jinou než přidání sloupce na konec tabulky) Adminer v SQLite řeší vytvořením nové tabulky, překopírováním dat, smazáním původní tabulky a přejmenováním. Pokud při přejmenování došlo k chybě, tak dočasná tabulka zůstala nepřejmenovaná. Adminer proto nově ošetřuje chybu i v tomto kroku (bug #697), ve všech ostatních už byla ošetřená. Také se nově zachovává hodnota auto increment.
- Při vytváření nových tabulek v SQLite lze zadat hodnotu auto increment.
- V MongoDB lze pomocí proměnné prostředí
MONGO_AUTH_SOURCE
určit databázi, která se má použít pro ověření uživatelských údajů (PR #358). Tento způsob mi nepřijde ideální (lepší by bylo vyřešit to pomocí přizpůsobení), ale co už.
Diskuse
Camisetas:
Thank you for every new version you make. Great job.
Thanks:
Thanks for sharing
Diskuse je zrušena z důvodu spamu.