DatabaseSchemaObjectExistsException

Ramirez_hun képe

Előzmények:
Node Reference Url Widget-tel akadt az Organic Groups. Egészen pontosan a "group"-nak jelőlt tartalomtípus már hamarabb létrehozott node-ját nem jelenítette meg, csak hibát dobott.

Megpróbáltam leszedni az OG-t, amitől bedőlt az egész. Gyakorlatilag semmilyen admin elérésű rész nem jött be, váratlan hibát adott. (A normál lapok, amit mindettől függetlenek voltak, azok működtek.) Szóval még belépni se tudtam...
Adatbázist mentésből helyreállítottam: Backup and Migrate automatikus napi mentését importáltam phpMyAdmin felületéről.
Minden működött megint ahogy kell.

Viszont!
Megint megpróbáltam fentenni az OG-t. Természetesen a Node Reference Url Widgetet és kapcsolódód dolgokat hamarabb leszedtem és kikapcsoltam. Így ment fel megint az OG.

Már telepítésnél a címben szereplő hibát adta, de nem akatd le az oldal, láthatólag minden működött.
Viszont képtelenség az OG-hez "csoport tartalom" tartalom típust megadni. A "csoport" tartalom típus ok, de a "csoport tartalom" tartalom típust nem veszi be, hanem mikor pipálás után rámentek, a lentebbi hibát dobja:

DatabaseSchemaObjectExistsException: field_data_og_group_ref nevű tábla már létezik. DatabaseSchema->createTable() függvényben (/chroot/home/sajatoldal/sajatoldal.hu/html/includes/database/schema.inc 657 sor).

Hasonló dolgokat láttam, de értelmes megoldási javaslatot nem.
Furcsa, hogy az adatbázis helyreállítása sem segített.
Mit tegyek szerintetek?

Taxonomy upgrade extras: 
Melyik modulhoz, modulokhoz kapcsolódik a téma?: 
Drupal verzió: 
aboros képe

hogy eredetileg mi akadt mivel, nem tudhatjuk. valószínűleg nem teljesen takarított össze maga után az og amikor eltávolítottad, illetve az lehet még, hogy nem szakszerűen távolítottad el, de gondolom az nincs. szóval nem takarított össze. mikor visszatoltad a mentést, akkor a hibát a megmaradt og táblák miatt kaptad és amit utoljára írsz hiba, az is arra panaszkodik, hogy a létrehozandó tábla már létezik.

soha ne éles rendszeren próbálkozz. semmivel. _semmivel_.

helyi környezetben próbáld ki, hogy eldobod az adatbázist teljesen, új adatbázist hozol létre, abba importálod a mentést. ennek hiba nélkül kell lefutnia.

ezután a helyi környezetedben próbáld meg az ogt beépíteni a rendszerbe. ha megint elakadsz, pontos verziószámokat írj meg légyszíves a kapott hibák mellé. ne add fel!

3
0

-
clear: both;

pp képe

Az van, hogy a Drupal amikor törölsz egy fieldet akkor azt nem törli, csak töröltre állítja, és majd csak a field_purge_field fogja azt törölni.

Elvileg, ha a cron-t meghívod akkor véglegesen törölni fogja a fieldet a Drupal és képes lesz újra létrehozni azt. Ha nem ez a probléma, akkor valószínűsítem, hogy inkonzisztens az adatbázisod. Ha a field_config táblában nincs benne az ilyen nevű field, de a tábla van akkor csak dobd el a táblát és működni fog a dolog.

pp

1
0
Ramirez_hun képe

Először is nagyon köszönöm a segítséget.
Hosszas kísérletezés, többszöri ellenőrzés és sandbox adatbázissal való szórakozás után ugrottam egy fejest, ami eredményre vezetett.

A megoldást a már említett "Backup and Migrate" mentése jelentett. Először valószínűleg azért nem vezetett eredményre, mivel az importálás előtt mást nem csináltam az adatbázissal, mivel azt hittem, ez így elég lesz. De nem!

Mivel az akármilyen okból megsérült OG adattáblái ott maradtak, azért ezek továbbra is bezavartak. Tehát valóban el kellett dobni őket. Csak azt nem tudtam, melyiket (mivel nem csak a fenti hibaüzenetben megjelölt tábla volt a ludas).

Ezért - hosszas kísérletezgetés, mentés és biztonságos tesztelés után - úgy döntöttem, az adatbázis minden tábláját eldobom... Drasztikus lépés tudom, de nagyon nem volt hova előre lépni.

Miután ez megtörtént, a már említett "Backup and Migrate" mentést újra importáltam a teljesen üres adatbázisba. Ez eredményre vezetett. Az OG teljesen eltűnt, úgyhogy működik minden és újra nekiláthattam az OG szakszerűbb telepítésének (azaz előtte leszedtem a Node Reference Url Widget és kapcsolódó dolgokat).

Köszi ismételten, adtatok néhány ötletet!

1
0

- ad astra per aspera -