Adminer 4.7.6

Školení, která pořádám

Adminer 4.7.6 zrychluje formulář pro změnu struktury tabulky, který se zpomalil přidáním CSP ve verzi 4.4.0. Důvodem tehdy bylo nahrazení inline event handlerů za značky <script> v každém řádku formuláře, což obzvlášť Chrome značně zpomaluje. Vyřešil jsem to centralizací těchto značek. Tady si postesknu nad nemožností se striktním CSP používat inline event handlery. Ty sice vedou ke špagetovému kódu, ale na druhou stranu umožňují vytvářet komponenty, které mají HTML kód i navázání jeho událostí na jednom místě. Rozdělení těchto dvou věcí vede k větší složitosti – komponenta např. může vracet zvlášť HTML a zvlášť kód pro obsluhu událostí, což pak zase musí její uživatel nalepit na různá místa. Jiným řešením může být jakýsi vlastní DSL využívající data- atributy, což taky někde používám.

Další změny:

Uživatelé také opravili plugin login-ip a přidal jsem ukázku použití Adminer Editoru s SQLite (kombinuje plugin login-password-less se změnou použitého ovladače v přihlašovacím formuláři a nastavením cesty k databázi).

Jakub Vrána, Adminer, 31.1.2020, diskuse: 13 (nové: 0)

Diskuse

Ondra:

s/DSN/DSL/

ikona Jakub Vrána OpenID:

Díky, opravil jsem.

smrdící epidemie:

Díky za každou novou verzi, Jakube.
Dotaz: dává ti smysl (u MySQL/MariaDB) zobrazovat collation (buď všech řetězcových sloupců; default celé tabulky) i na stránce "Zobrazit strukturu"?
Šlo by tam tu informaci nějak dodat?

ikona Jakub Vrána OpenID:

Moc využití pro to nevidím. Collation mám obvykle stejné v celé databázi a pokud ne, tak mi to ve změně tabulky stačí. Možná by na to šel udělat plugin, ale možná by nejdřív potřeboval přidat nějaké hooky.

smrdící epidemie:

Díky za každou novou verzi, Jakube.
Drobný detail na vylepšení: ve formuláříku "Import" (pod výpisem tabulky) by šlo do vstupního pole <input type="file"> připsat atribut "required". Sám prohlížeč by pak vyžadoval vložení souboru. (Ano, je to detail a často se to nestává, ale přece... a moc práce to nezabere.)

ikona Jakub Vrána OpenID:

Bohužel je to jeden společný formulář s importem ze souboru na serveru, takže to povinné pole není.

Formulář by se dal rozdělit, ale to se mi nechce dělat.

smrdící epidemie:

Zdravíčko. Zobrazuje se teď také někomu v Admineru odkaz na verzi 4.7.8 s tím, že na adminer.org je aktuálně verze 4.7.7?

ikona Jakub Vrána OpenID:

To nepozoruji. https://www.adminer.org/version/ vrací 4.7.7, ani jsem s tím nic nedělal.

smrdící epidemie:

Nyní je to aktuálně v pořádku (tedy 4.7.7 bez odkazu).

smrdící epidemie:

Ahoj, Jakube.
Je nějaká možnost nechat exportovat tabulku po částech, například po každých 50000 řádcích? Je možné někde si zvolit limit a offset pro takový export?
Tahle možnost by se mně (a určitě občas i ostatním uživatelům) velmi hodila - řádově desetitisíce až statisíce záznamů je množství vhodné pro import/export na pomalých serverech (nebo do phpMyAdminu, který na velké soubory občas odpovídá 504kou), ale příliš velké na zobrazení a označení v prohlížeči.

ikona Jakub Vrána OpenID:

Ze SQL příkazu to jde exportovat jako CSV. Do příkazu se dá LIMIT 50000 a pod příkazem se dá Limit rows: 10 (takže se nemusí vypisovat všechny).

Z výpisu tabulky to jde exportovat i jako SQL, ale musí se všechny vypsat. Pak jdou označit jedním kliknutím na checkbox v záhlaví tabulky.

smrdící epidemie:

Díky a ještě se zeptám (pro zmiňovaný případ, že chci exportovat tabulku po oněch 50 tisících řádků), existuje v Admineru možnost nastavit si ve výpisu offset na 50000, 100000, 150000, ... - něco jednoduššího než listování po stránkách a zadávání podmínek ve výpisu typu "id > 50000" (které nemusejí fungovat pro promazanou tabulku) atd.?

ikona Jakub Vrána OpenID:

Ne, leda to změnit přímo v URL.

Diskuse je zrušena z důvodu spamu.

avatar © 2005-2024 Jakub Vrána. Publikované texty můžete přetiskovat pouze se svolením autora. Ukázky kódu smíte používat s uvedením autora a URL tohoto webu bez dalších omezení Creative Commons. Můžeme si tykat. Skripty předpokládají nastavení: magic_quotes_gpc=Off, magic_quotes_runtime=Off, error_reporting=E_ALL & ~E_NOTICE a očekávají předchozí zavolání mysql_set_charset. Skripty by měly být funkční v PHP >= 4.3 a PHP >= 5.0.