Varování: Databáze není aktuální!

marvays
26. dub 2020 07:19 #142210
U jednoho webu jsem v záložce s databází:
/index.php?option=com_installer&view=database

našel tyto chyby:
Verze schema databáze (3.9.10-2019-07-09) neodpovídá verzi CMS (3.9.16-2020-03-04).
Tabulka 'j39_users' nemá index 'idx_username'. (Ze souboru 3.9.16-2020-03-04.sql.)
Databázové tabulky Joomla! jádra nebyly dosud převedeny na UTF-8 Multibyte (utf8mb4).

Co to znamená a jak to mohu opravit? Děkuji

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Bong
26. dub 2020 08:12 - 26. dub 2020 08:14 #142211
Přímo na té stránce tlačítkem Opravit.

To by mělo opravit minimálně ten index a pokud to ani na další pokus neopraví převod na UTF-8 Multibyte, bude asi nutné to udělat ručně v phpMyAdmin (změnit porovnávání na utf8mb4_unicode_ci).

I'm sorry, my responses are limited...you must ask the right questions.

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od marvays
26. dub 2020 08:58 #142212
Došlo k chybě.
1062 Duplicate entry 'radekb' for key 'idx_username'

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Rudolf
26. dub 2020 11:14 - 26. dub 2020 11:14 #142213
Co by to tak asi mohlo znamenat?

Duplicitní hodnota "radekb" pro jedinečný klíč "username".
Hmm
To asi budou zaregistrovaní uživatelé se stejným uživatelským jménem. Hlava mi ale nebere proč má být "username" jedinečné.
A jak to že se to povedlo vytvořit, to by přece v administraci vyskočila hláška, že uživatel se stejným jménem již existuje?

Že by chyba po importu po aktualizaci?

MiniJoomla! - www.minijoomla.org - eshop s rozšířením Joomla/VM
Email Manager - aplikace na správu šablon emailů pro VirtueMart
Easy Feeder - aplikace na generování XML/CSV feedů a napojení na ERP pro VM
PragueClassicconcert - portál pro prodej vstupenek na systému Joomla

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Cony
26. dub 2020 14:01 #142214
Index přibyl tuším v 3.9.16, už se to tu probíralo. Username být jedinečný musí, jak jinak by se zjistilo, kdo se vlastně přihlašuje...
Ve starších verzích Joomly se jedinečnost username kontrolovala jen programově, ne na úrovni databáze. Pokud tedy uživatel vznikl jinak než standardní cestou (import, nějaké rozšíření třetí strany apod...), mohlo dojít k duplicitě.

Stačí zdvojené uživatele najít a promazat / přejmenovat.
Poděkovali: Rudolf

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od marvays
26. dub 2020 17:01 #142215

Rudolf napsal: Co by to tak asi mohlo znamenat?

Duplicitní hodnota "radekb" pro jedinečný klíč "username".
Hmm
To asi budou zaregistrovaní uživatelé se stejným uživatelským jménem. Hlava mi ale nebere proč má být "username" jedinečné.
A jak to že se to povedlo vytvořit, to by přece v administraci vyskočila hláška, že uživatel se stejným jménem již existuje?

Že by chyba po importu po aktualizaci?


Takhle sem si to vysvětloval taky. Ale tento uživatel je v databázi jen jednou. Proto sem to hodil tady. Myslel jsem, že to jen špatně chápu.

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od marvays
26. dub 2020 17:04 #142216

Cony napsal: Index přibyl tuším v 3.9.16, už se to tu probíralo. Username být jedinečný musí, jak jinak by se zjistilo, kdo se vlastně přihlašuje...
Ve starších verzích Joomly se jedinečnost username kontrolovala jen programově, ne na úrovni databáze. Pokud tedy uživatel vznikl jinak než standardní cestou (import, nějaké rozšíření třetí strany apod...), mohlo dojít k duplicitě.

Stačí zdvojené uživatele najít a promazat / přejmenovat.

No, bordel v uživatelích mi dělá jen Virtuemart. Mám tisíce uživatelů, kteří se v administraci tváří, že se nikdy nepřihlásili a přitom mají jako přihlášený uživatel několik objednávek . . . .
Když jsem se na toto téma mou chabou angličtinou snažil diskutovat na foru VM, bylo mi tak nějak suše sděleno, že je to prostě neduh Virtuemart. Mě udivuje, že to nikoho netrápí. Člověk by rád občas promazal nějaké fake účty, ale takhle nemůžu :(

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Rudolf
27. dub 2020 05:09 - 27. dub 2020 05:12 #142217

Ve starších verzích Joomly se jedinečnost username kontrolovala jen programově, ne na úrovni databáze. Pokud tedy uživatel vznikl jinak než standardní cestou (import, nějaké rozšíření třetí strany apod...), mohlo dojít k duplicitě.


Mě to netrápí, protože na eshopech s VM nemám Joomla > 3.9.15

Mám tisíce uživatelů, kteří se v administraci tváří, že se nikdy nepřihlásili a přitom mají jako přihlášený uživatel několik objednávek . . . .


Je třeba upravit programově Virtuemart. Jak neřeknu, viz výše - zatím mě to netrápí :)

Ale tento uživatel je v databázi jen jednou.


Nemyslím si. Je dvakrát, ale podruhé ho DB nezapíše z důvodu omezení a proto jse v DB chyba.

MiniJoomla! - www.minijoomla.org - eshop s rozšířením Joomla/VM
Email Manager - aplikace na správu šablon emailů pro VirtueMart
Easy Feeder - aplikace na generování XML/CSV feedů a napojení na ERP pro VM
PragueClassicconcert - portál pro prodej vstupenek na systému Joomla

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.