Adminer 3.3.4
Školení, která pořádám
Novou verzi Admineru jsem chtěl vydat už loni v září, ale s jednou drobností jsem ještě nebyl spokojen, a pak už jsem na to kvůli nové práci neměl dost energie. Běh života se zase ustálil, drobnost jsem opravil, připojil pár dalších úprav a nová verze může ven.
Adminer nakonec používám i ve Facebooku. Pro připojení k databázím tady používáme jednu vrstvu navíc (tzv. tier) – ta ověří, jestli s danou databází můžu pracovat a pokud ano, tak mi vrátí IP adresu, port a přihlašovací údaje k jednomu ze zrcadel v závislosti na tom, jestli mi stačí číst nebo chci i zapisovat. Díky rozšiřitelnosti Admineru bylo velmi jednoduché upravit přihlašovací formulář a způsob přihlašování tak, aby tuto vrstvu navíc zohledňoval.
Co je nového?
- U cizích klíčů se zobrazuje i výchozí akce (obvykle RESTRICT).
- Cizí klíče podporují akci SET DEFAULT.
- Při parsování SQL dotazu nahraného ze souboru mohlo dojít k nesprávnému zpracování řetězce.
- Ctrl+klik na tlačítko odešle formulář do nového okna. Přál bych si, aby tohle uměly prohlížeče standardně, pro některé z nich na to existuje plugin.
- Z názvů tabulek a sloupců se ořezávají mezery na začátku a na konci. S touto změnou jsem trochu váhal, protože Adminer by měl být schopen vytvořit libovolné tabulky a sloupce, ale pragmatický pohled nakonec zvítězil.
- Pokud server neodpoví na AJAXový požadavek, tak se zobrazí chybová hláška.
- AJAXové požadavky lze zastavit pomocí klávesy Esc. To standardně funguje ve Firefoxu, ale pro Chrome je to potřeba ošetřit v kódu.
- Indikátor AJAXových požadavků jsem přesunul doprava nahoru. Jednak je teď blíž místu, kde se obvykle zobrazuje indikátor stahování stránky a jednak to vypadalo špatně na široké stránce posunuté doprava.
- V exportu se neohraničuje datový typ BIT.
- Už v dřívějších verzích lze řádky zaškrtnout kliknutím kdekoliv v nich. Zaškrtly se ale i při označování textu, čemuž nová verze zabraňuje.
- V databázovém schématu byla odnepaměti taková otravná chyba, že když se tabulka přetáhla myší moc rychle, tak čára označující cizí klíče přetekla a smrskla se až obnovením stránky. Tahle chyba teď zmizela.
- V databázovém schématu se také nově při přetahování tabulek neoznačuje text, k čemuž dříve občas docházelo.
- V přizpůsobení lze zakázat export.
- Pomocí přizpůsobení jde také ovlivnit seznam databází. Někdo to použil pro skrytí
information_schema
, já jsem to využil pro vybrání výchozí databáze nastavené tierem.
- V MySQL se po připojení nastaví autocommit režim.
- V seznamu tabulek lze v SQLite a PostgreSQL spustit příkaz
VACUUM
.
- V SQLite a PostgreSQL se pro čísla nepoužívá operátor
LIKE
.
- V PostgreSQL nešel změnit cizí klíč.
- V PostgreSQL se nedalo připojit, pokud neexistovala výchozí databáze.
- Adminer Editor nově podporuje boolean vyhledávání.
- Přibyl perský překlad.
Jsou to většinou samé drobnosti, ale už mám i nějaké nápady na další větší verzi. Taky moc nestíhám číst fórum a analyzovat nahlášené chyby. Pokud s Adminerem máte bohatší zkušenosti a chcete se podílet na vývoji, tak odpovídání na dotazy ve fóru, případně analyzování a reprodukování chyb je oblast, se kterou může pomoci prakticky kdokoliv.
Zdrojové kódy jsem přesunul na GitHub, na SourceForge je už jen záloha. Mělo by teď být tedy jednodušší s kódem pracovat. Adminer byl mimochodem týden prezentován na titulní stránce SourceForge a nahráli se mnou o Admineru rozhovor, čímž jsem myslím dosáhl vrcholu toho, na co jsem na tomto serveru mohl pomýšlet.
Diskuse
O:
Vrchol bude az se to stane defaultnim web spravcem db v facebooku, ne :-)
Ono tady moc lidí s databází pracovat nepotřebuje. A těm pár obvykle stačí příkazová řádka.
pidiďundina:
Díky moc za každou novou verzi.
Btw. moc to nesouvisí, ale přecijen...
http://www.adminer.org/en/translation/* Po If není would - If You like to...
* místo cs.inc.php bych dal (v anglické verzi) en.inc.php. To samé pro každý respektivní jazyk.
* /de/translation, /de/plugins, /pl/plugins a úvod v /pl/ jsou psány anglicky
Nevím, nevím: http://www.english-test.net/forum/ftopic21417.html
en.inc.php je skoro prázdné, tam jsou jen překlady množného čísla. Ostatní překlady mohou být zastaralé.
O angličtině v jazykových verzích vím, je to práce dobrovolníků a novější texty holt přeložené nejsou.
pidiďundina:
ad if...would) pardon, spletla jsem si to s if...will
ad překlady) přece není tak těžké dát všechny anglické hlášky dohromady. Myslím si, ba jsem přesvědčena o tom, že pokud by pro to byl jednoduchý on-line formulář, kde by to mohli uživatelé doplňovat, bylo by nyní překladů víc.
ad nepřeložené stránky) nemyslíš, že by bylo lepší tam dát aspoň strojový překlad?
Všechny anglické hlášky jsou pohromadě v souboru cs.inc.php. Já ani tak nechci víc překladů – chci kvalitní překlady od rodilých mluvčích, kteří Adminer skutečně používají.
Vytvořil jsem šablonu pro překladatele do souboru xx.inc.php. Ta umožní snadno identifikovat věci, které ještě nejsou přeložené. Díky za tip.
Schmutzka:
Předem díky za perfektní nástroj, který zachránil už mnoho lidských životů. Hasiči mohou závidět.
Mám dotaz na defaultní kódování. Novou databáze mi adminer nastaví s kódováním "latin1_swedish_ci". Možná je to záležitost nějakého configu. Mohu to nějak ovlivnit/nastavit sám?
Schmutzka:
A kde ji lze jednoduše změnit? Mé pokusy v nastavení mysql byly neúspěšné. Ideálně pokud by šlo k Admineru přidat pár řádků (přenosné).
Enlil:
je to direktiva default-character-set v my.ini
trestná smradlavice:
Zdravím, Jakube,
Chci v Admineru v jedné tabulce přidat sloupeček typu enum s několika variantami, s možností být NULL a defaultní hodnotou NULL. Adminer mi po odeslání tabulky v režimu úprav hází chybu "MySQL Invalid default value for 'název_sloupce'". Lze vůbec přes Adminer u tabulky přidat sloupec s výchozí hodnotou NULL? Díky.
Jakub Vrána :
Ano, je potřeba zaškrtnout zobrazení výchozích hodnot a pak v tom sloupci odškrtnout, že nějakou výchozí hodnotu má mít.
trestná smradlavice:
Když jako tuto "nějakou" hodnotu zadám NULL, uloží se řetězec "NULL", když nezadám nic, uloží se prázdný řetězec nebo nula. Lze ale nastavit NULL?
Jakub Vrána :
NULL je výchozí výchozí hodnota. Takže když se nezadá nic a políčko ve sloupci Výchozí hodnoty se nechá nezaškrtnuté, tak bude výchozí hodnotou právě NULL.
HTMLHERGOT:
error report:
Spouštím adminer.sql ze serveru - zaškrtávám "zastavit při chybě", spustím. Dejme tomu, že můj sql soubor obsahuje chybu. Adminer ji v tomto případě zobrazí, ale ihned poté to vypadá, jako by se sám přesměroval na tu samou stránku, kde se již zobrazí pouze SQL okno a chybová hláška tu není.
Honza:
Ahoj,
mám jen malý dotázek, pořád nechápu čím se liší Adminer a Adminer Editor. A to jsem si je i stáhnul, zkoušel a pořád nic, asi jsem lama.
Čím se prosím oba liší?
Díky
Jakub Vrána :
Adminer umožňuje spravovat celou databázi. Adminer Editor umí pracovat jen s daty, nedovoluje měnit strukturu. Takže třeba neumí vytvářet nové tabulky.
Honza:
Děkuju, jsem fakt lama.
Diskuse je zrušena z důvodu spamu.