Adminer 4.7.1
Školení, která pořádám
Nová verze Admineru opravuje několik drobných problémů předchozí verze:
- Horizontální posuvník, který předchozí verze přesunula ze stránky k tabulce, jsem vrátil zpátky ke stránce (chyba #647). Osobně mi sice nové chování vyhovovalo, protože horizontální posun provádím pomocí kolečka myši nebo dvou prstů na touchpadu a líbilo se mi, že zbytek UI zůstává na místě. Uživatelé, kteří horizontální posun provádí ručně pomocí posuvníku, si ale celkem oprávněně stěžovali, že nejdřív musí stránku posunout dolů, aby posuvník vůbec viděli. Nové chování navíc způsobilo, že tlačítka zobrazená při najetí na záhlaví tabulky byla rozhozená. Změnu jsem proto vrátil. Komu by chování verze 4.7.0 vyhovovalo, může si do
adminer.css
přidal .scrollable { overflow-x: auto; }
. Pokud by někdo věděl, jak zajistit horizontální fixaci spodního panelu (o kterou mi jde primárně), tak budu vděčný. Ten je nyní fixován vertikálně pomocí position: sticky; bottom: 0;
, ale přidání right: 0;
nic neudělá.
- Formulář pro vytvoření a změnu struktury tabulky si nyní pamatuje zobrazení sloupců s výchozími hodnotami a komentáři. To se dříve řídilo šířkou obrazovky resp. tím, zda tabulka nějaký komentář má, nově se to pamatuje v cookie (chyba #493).
- Přihlašovacímu formuláři jsem přidal atributy
autocomplete
s hodnotami username a current-password. To pomáhá správcům hesel. Ty sice s přihlašovacím formulářem Admineru neměly problém, ale přidal jsem to pro pořádek. Formuláři pro změnu uživatele jsem přidal autocomplete="new-password"
, což by pomoci mohlo.
- Ovladač pro ClickHouse přidaný v předchozí verzi měl zdrojový kód kompatibilní jen s PHP 5.4+. Opravil jsem ho tak, aby byl kompatibilní s PHP 5.
- Přihlašovací formulář pro SQLite nově skrývá pole pro název serveru, které se zobrazuje od verze 4.2.5, i když není potřeba.
- V Adminer Editoru jsem opravil editaci pravdivostních hodnot (chyba #640).
Diskuse
Postgres DB bug?:
Předem se omlouvám. Asi to nepatří sem, ale na sourceforge ani githubu nevidím možnost založit issue.
Máme v Postgres 2 schémata a kdykoliv pustíme v Admineru jakýkoliv dotaz z ne-public schéma, tak se nám plní error log (/var/log/postgresql/postgresql-9.6-main.log).
Podle textu chyby jsem to dohledal, že problém dělá
https://github.com/vrana/adminer/blob/v4.….inc.php#L398
Je úplně jedno, jaké schéma je aktuální. Vždy dojde k varování.
```
ERROR: syntax error at or near "AND" at character 60
STATEMENT: SELECT attnum, attname FROM pg_attribute WHERE attrelid = AND attnum > 0
ERROR: syntax error at or near "AND" at character 166
STATEMENT: SELECT relname, indisunique::int, indisprimary::int, indkey, indoption , (indpred IS NOT NULL)::int as indispartial FROM pg_index i, pg_class ci WHERE i.indrelid = AND ci.oid = i.indexrelid
```
Když se nepoužije schéma před tabulkou, tak to navíc přidá ještě chybu:
```
ERROR: relation "invoice" does not exist at character 23
STATEMENT: EXPLAIN select * from invoice order by id desc limit 1
```
Testoval jsem to pomocí těchto dotazů
```
select error; -- abych oddělil předchozí chyby v logu
select current_schema(); -- vrátí payments
select * from payments.invoice order by id desc limit 1;
```
Pomocí pokus-omyl testování mi přijde, že interní Adminer dotazy používají public schema, i když jsem v jiném schématu. Tabulky z public schéma žádnou chybu nevrací.
Robo (rmSOFT):
Jakub, v popise nového Admineru (4.7.1) uvádzaš problémovú horizontálnu fixáciu spodného panelu...
Riešenim by mohlo byť zadefinovanie doleuvedených vlastností pre element <body>
body {
width: -moz-fit-content;
width: fit-content;
}
Bližší popis som zaslal na adresu jakub@vrana.cz dna 27.03.2019.
Design www.rmsoft.sk
blicí punčocháče:
Zdravím. Bug report:
Při neběžící nebo z jiného důvodu problémové MySQL se zobrazí hláška "Nemohlo být vytvořeno žádné připojení, protože cílový počítač je aktivně odmítl.". To kvituju kladně, až na to, že ta hláška je česky pro jakékoli nastavení jazyka.
Jakub Vrána :
To vrací přímo MySQL, je potřeba změnit jeho jazyk. Adminer ho pokud vím nemá jak nastavit.
Josef K.:
Dobrý den,
mám problém s Adminerem při exportu dat s pohledy - view.
Program dropne VIEW a vytvoří TABLE následně dropne TABLE a vytvoří VIEW viz:
DROP VIEW IF EXISTS `cer_vw_komunikace_style`;
CREATE TABLE `cer_vw_komunikace_style` (`id` int(11), `typ_id` tinyint(3) unsigned, `cislo` smallint(5) unsigned, `popis` varchar(50), `katastr_id` char(6), `delka` double, `stoupani` double, `klesani` double, `zkratka` char(3), `popis_styl_all` varchar(56));
a potom :
DROP TABLE IF EXISTS `cer_vw_komunikace_style`;
CREATE ALGORITHM=UNDEFINED SQL SECURITY DEFINER VIEW `cer_vw_komunikace_style` AS select `ck`.`id` AS `id`,`ck`.`typ_id` AS `typ_id`,`ck`.`cislo` AS `cislo`,`ck`.`popis` AS `popis`,`ck`.`katastr_id` AS `katastr_id`,`ck`.`delka` AS `delka`,`ck`.`stoupani` AS `stoupani`,`ck`.`klesani` AS `klesani`,`ms`.`zkratka` AS `zkratka`,concat(`ms`.`zkratka`,' - ',`ms`.`popis`) AS `popis_styl_all` from (`cer_maps_komunikace` `ck` join `cer_maps_style` `ms` on(`ck`.`typ_id` = `ms`.`id`));
Dále nevím (zda to není moje chyba), zda lze při exportu u pohledů "vypnout" databázi, tak aby šel export naimportovat do jiné databáze.
Děkuji k.
Diskuse je zrušena z důvodu spamu.