Megoldhatalan probléma ? - PDOException: SQLSTATE[23000]

szegedi képe

Sziasztok!
A D7 -tel még csak ismerkedem, de a teszt alatt belefutottam az alábbi hibába, melyet próbáltam a szokásos módon, a lehető legtöbb fórumbejegyzést végigolvasva orvosolni... sajna nem sikerült...

"PDOException: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'ThemeRegistry-class' for key 1: INSERT INTO {registry} (name, type, filename, module, weight) VALUES (:db_insert_placeholder_0, :db_insert_placeholder_1, :db_insert_placeholder_2, :db_insert_placeholder_3, :db_insert_placeholder_4); Array ( [:db_insert_placeholder_0] => ThemeRegistry [:db_insert_placeholder_1] => class [:db_insert_placeholder_2] => includes/theme_old.inc [:db_insert_placeholder_3] => [:db_insert_placeholder_4] => 0 ) _registry_parse_file() függvényben
(/var/www/mysite.hu/htdocs/includes/registry.inc 179 sor)"

Láttam, hogy sok bejegyzés szól erről, illetve nagyon hasonló hibákról és néhány patch is van az oldalakon, de nem igazán sikerült kederítenem, hogy hogyan is lenne orvosolható a hiba.

Környezet:
Drupal 7.12,
Zen 3.1 theme
MySQL 5.0.51a,
PHP 5.2.6

Telepített modulok:
captcha
ckeditor
ctools
galleryformatter
i18n
imce
languageicons
menu_attributes
pathauto
print
token
transliteration
variable
views
webform

(mindenből a legfrissebb, a menu_attributes még csak felmásolva)

A hiba a webform modul bekapcsolásakor illetve a mentés-re kattintáskor jött elő...

Előre is köszönöm a segítséget!
Szegedi Gábor

Drupal verzió: 
G. képe

Üdv!

A következő hibaüzenettel találkoztam: amikor új tartalmat akarok elmenteni a mentés gomb megnyomása után az alábbi szöveg fogad. Mi lehet a megoldás? Szerencsére a honlap készítésének az elején vagyok, úgyhogy ha nincs tipp, akkor újrarakom az egészet (eredetileg WAMP serverrel csináltam és úgy tettem fel). Darabig működött is minden, aztán mikor a views-al kezdtem foglalatoskodni, akkor ez történt. Az óta kikapcsoltam a views-t, hátha az okozza a galibát, de ugyanúgy jön a kis üzenet.

Tehát a hibaüzenet:
PDOException: SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'vid' cannot be null: INSERT INTO {node} (vid, type, language, title, uid, status, created, changed, comment, promote, sticky) VALUES (:db_insert_placeholder_0, :db_insert_placeholder_1, :db_insert_placeholder_2, :db_insert_placeholder_3, :db_insert_placeholder_4, :db_insert_placeholder_5, :db_insert_placeholder_6, :db_insert_placeholder_7, :db_insert_placeholder_8, :db_insert_placeholder_9, :db_insert_placeholder_10); Array ( [:db_insert_placeholder_0] => [:db_insert_placeholder_1] => outdoornews [:db_insert_placeholder_2] => hu [:db_insert_placeholder_3] => cc [:db_insert_placeholder_4] => 1 [:db_insert_placeholder_5] => 1 [:db_insert_placeholder_6] => 1340698546 [:db_insert_placeholder_7] => 1340698546 [:db_insert_placeholder_8] => 1 [:db_insert_placeholder_9] => 1 [:db_insert_placeholder_10] => 1 ) in drupal_write_record() (line 7013 of /var/www/users/zbtcuz/wwwroot/wwwroot/includes/common.inc).

0
0
szt képe

Tipp: ha az update.php nem fut le, az tud ilyet okozni.

0
0
wolf86 képe

A drupal 7.14-ről 7.16-ra telepítés után nem tudok új node-ot létrehozni. A következő hibaüzenet fogad:

PDOException: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '92' for key 'PRIMARY': INSERT INTO {node} (nid, vid, type, language, title, uid, status, created, changed, comment, promote, sticky, tnid, translate) VALUES (:db_insert_placeholder_0, :db_insert_placeholder_1, :db_insert_placeholder_2, :db_insert_placeholder_3, :db_insert_placeholder_4, :db_insert_placeholder_5, :db_insert_placeholder_6, :db_insert_placeholder_7, :db_insert_placeholder_8, :db_insert_placeholder_9, :db_insert_placeholder_10, :db_insert_placeholder_11, :db_insert_placeholder_12, :db_insert_placeholder_13); Array ( [:db_insert_placeholder_0] => 107 [:db_insert_placeholder_1] => 192 [:db_insert_placeholder_2] => page [:db_insert_placeholder_3] => hu [:db_insert_placeholder_4] => Demo [:db_insert_placeholder_5] => 1 [:db_insert_placeholder_6] => 0 [:db_insert_placeholder_7] => 1351541464 [:db_insert_placeholder_8] => 1351541464 [:db_insert_placeholder_9] => 1 [:db_insert_placeholder_10] => 0 [:db_insert_placeholder_11] => 0 [:db_insert_placeholder_12] => 0 [:db_insert_placeholder_13] => 0 ) drupal_write_record() függvényben (/home/..../..../...../includes/common.inc 7036 sor).

A követekező dolgokat már megtettem:
- cache törlése (devel modul)
- update.php futtatása
- összes modul aktuális
- többször újra felmásoltam az aktuális drupal verziót

Adatbázisrendszer:MySQL, MariaDB, or equivalent
Adatbázisrendszer verziója: 5.5.27-cll
PHP: 5.2.17

Az a probléma, hogy a hibajelentés szerint a "92"-es a duplikált, viszont a "nid" értékek 1-73-ig vannak a node táblában. Nem találtam egyetlen 92-es nid-vel rendelkező bejegyzést sem. Sőt ahogy próbálkoztam mindig új tartalmat létrehozni a hiabnaplópban a hibaüzenet mindig változatlan, viszont ezt a 92-es értéket mindig eggyel növeli. A legutóbbi hibaüzenetnél már Duplicate entry '107' szerepel. Viszont ezt nem hozza létre sehol. Nem lehet valamit beállítani a táblázatnál, hogy megszűnjön ez a probléma? Az SQL-hez csak alap szinten értek.

A "nid" tulajdonságai:
Típus: INT
Hossz/érték: 10
Alapértelmezett: nincs
Illesztés: -
Tulajdonságok: unsigned
Nulla: nincs kipipálva
Auto increment: igen
megjegyzések: The primary identifier for a node.

common.inc 7036 sora:

if ($query_return = $query->execute()) {
if (isset($serial)) {
// If the database was not told to return the last insert id, it will be
// because we already know it.
if (isset($options) && $options['return'] != Database::RETURN_INSERT_ID) {
$object->$serial = $fields[$serial];
}
else {
$object->$serial = $query_return;
}
}
}

0
0
eager képe

Első látásra ez a szál tele van örülő emberekkel:
http://drupal.org/node/1545610

Ezek kifejezetten lényegesnek tűnnek:
https://drupal.org/node/1545610#comment-5952370
http://drupal.org/node/1545610#comment-5953606

  1. Elvileg olyan is lehet, hogy valamiért az update.php "nem eléggé fut le"?
  2. azt mondja: [az update.php] "its say : 5 updapts is waiting" <- ez miez?
    ( https://drupal.org/node/1545610#comment-5965026 )
  3. Mit rontott el az, akinél ilyesmi fordul elő?
  4. Mit csinál a drush updb? Hogy lehet hasonló eredményt elérni ott, ahol nincs drush?

És persze:

MINDIG (mindig) legyen mentésed mielőtt bármi komolyba fogsz.

Edit:
Úgy látom az előző hibaüzit sikerült meggooglizni a tied helyett... Mindenesetre a "B" terv az lenne, hogy sorban kikapcsolod a modulokat, és megnézed, hogy hol múlik el a baj. (gondolom cache-t kell közben ürítgetni (ha egy klónozott példányon kísérleteznék a gyógyítással, még a cront is futtatnám az egyes modulkikapcsolások között)).

1
0
wolf86 képe

Tegnap még belenéztem az adatbázisba, de nem változtattam meg semmit... Még az admin felületre sem enged belépni...

0
0
wolf86 képe

Már szinte az összes modult kikapcsolatam ami létezett, mire ahogy szokott lenni az utolsók közzött találtam rá a megoldásra. A SEO Tools modul és a hozzá kapcsolódó kiegészítők okozták a galibát... Miután kikapcsolatam ezeket és a többit visszakapcsolatam 100%-ban biztos lehettem benne.

Köszönöm a segítséget!

1
0
dyra képe

Jómagam is belefutottam hasonlóba Drupal 6 update Drupal 7 -re. Nálam a content taxonomy modul okozta ezt a problémát a sima Blog és Page típusú tartalmaknál. De sajnos ezt csinálja a könyvlapoknál is és ott egyenlőre nem jöttem rá mi lehet a probléma oka.

<off>Vicc az egész frissítési procedura 6-ról 7-re kockák írták kockáknak a helpeket, temérdek hiba, jobban jár az ember ha telepít egy új Drupal-t és "átcopizza" a cuccokat kézzel (persze sok tartalomnál ez nem járható út). Gyakorlatilag nálam minden szétesett. Kifejezetten felhasználó ellenes a Drupal ezen része.</off>

0
0

honlapom http://dyra.eu/

dyra képe

Könyvlapoknál töröltem az adatbázisból azt a részt a book táblából amire a hibaüzenet hivatkozott. Nálam ez a 468-as NiD volt. Ezek után megszünt a gond a book típusú tartalmaknál is. A content taxonomy is rendben működik a régi táblák eltávolítása után. És nem okozza a fentebb említett problémákat.

ui: persze a könyvet ezek után természetesen újra kell építeni a könyvlapokból.

0
0

honlapom http://dyra.eu/

nevergone képe

Teljesen jó a Drupal ezen frissítési része, bár Drupal 8-ban már más lesz helyette. Nyilván itt is szét kell választani a problémát: alaprendszer és külső, utólag telepített modulok. Az alaprendszer frissítése problémamentes (számtalan nagyobb oldal frissült már, csak szólok), a külső moduloknál pedig amennyire a fejlesztő megvalósítja. Viszont itt már nem a „Drupal” a hibás, hanem az adott modul karbantartója.
Mivel minden komolyabb feladatot (pl. modulok tesztelése, adott funkció bekapcsolása, oldal frissítése) tesztoldalon végzünk, így elég könnyen megtalálható, hogy melyik modulok okozzák a problémát. Majd ezeknél a moduloknál meg kell nézni a hibajegyeket, mert valószínűleg másnál is okozott már problémát, talán megoldás is van. Ha pedig nincs vonatkozó hibajegy, akkor tessék létrehozni egyet, mert ebből a picsogásból itt még nem fogja tudni a modulfejlesztő, hogy probléma van.
A drupal.org-on a regisztrált felhasználóknak minden kézikönyv szerkeszthető, örömmel veszik a javító-szándékú hozzájárulást.

2
0
dyra képe

<off>Ne fárasszál már. Hobbi kertészeknek mint én kínai amit te beszélsz. Ezért picsogok, hogy fejlesztők ha akarnak erre lehetnek tekintettel ha nem akkor nem. De attól az olyan mókusoknak mint én ez horror mondjuk egy wordpresshez képest (ott általában két klikk).</off>

0
0

honlapom http://dyra.eu/

nevergone képe

A fejlesztők kevés kivételtől eltekintve nem tudnak magyarul és nem olvassák a drupal.hu-t. Viszont ezzel könnyen le is rázhatja magáról az ember a felelősséget, pedig nem. Ezernyi helyen tudnál te is segíteni akár az alaprendszer, akár külső modulok, akár a drupal.org-os leírások jobbá tételében.
A tálban csak akkor marad cseresznye, ha nem csak kiveszünk belőle, hanem bele is tesszük a magunkét. Vagy legalább az erős, tanulni vágyó szándékot megmutatjuk.
Ez amúgy nem csak rólad szól, akár rólam is, meg sokan másokról.

Ui.: A Drupalnak is van beépített webes frissítője, használd azt. Bár a fenti problémákra semmilyen rendszer webes frissítője nem ad megoldást.

1
0
dyra képe

Nem felelősség lerázás ez, én most csináltam először Drupal 6 updatet Drupal 7-re. Gondolhatod mennyit tudok segíteni bárkinek is. De igazad van valóban kevéssé veszem ki a részem a közösség munkájában. Igyekszem változtatni ezen a közeljövőben és megpróbálom megkeresni azon területeket ahol én is a segítségére lehetek a közösségnek.

De Galileo Galilei után szabadon "és mégis nehéz a Drupal 6 update Drupal 7-re".

Boldog karácsonyt.

0
0

honlapom http://dyra.eu/

chx képe

Legelőször is: nem kis részben én vagyok felelős a mag D6-D7 frissítést végző részéért. A contribért nem. A D7-D8 valóban teljesen más lesz bár azt a csapatot is van szerencsém nekem vezetni :) Nem ígérem hogy működni fog mindenkinek (de azért reménykedünk) de azt igen hogy sokkal könnyebb lesz megoldani hogy működjön -- bár ez több-kevesebb (nagyon reméljük kevesebb) kódolással fog csak menni.

Másodszor, ugorjunk neki egyesével és írd le szépen hogy Nevergone válaszában mi az ami kínai?

Harmadszor: Vicc az egész frissítési procedura 6-ról 7-re kockák írták kockáknak a helpeket, temérdek hiba

Milyen helpeket? :)

0
0
dyra képe

Nem kell összezárni, ez csak egy vélemény volt. Nekem nehezen átlátható már maga a drupal.org is lévén akkorára hízott tudom az én IQ-m kevés de itt talán pont azt kéne megérteni, hogy nincs mindenkinek pilóta vizsgája.

A Drupal 6-os és 7-es frissítéssel kapcsolatban igazad van ami van leírás az igen rövid és kevéssé dokumentált, szóval nem nevezhető "segítségnek" jobb szó rá az útmutató.

0
0

honlapom http://dyra.eu/

szantog képe

Az a baj, hogy a core könyvtárában lévő upgrade.txt-n kívül csakorlatilag semmilyen egzakt leírást nem lehet adni, mivel már egyetlen contrib modul bekapcsolása is tudja borítani a mutatványt, a végtelen kombinációja a contrib moduloknak pedig egyenesen lehetetlenné teszi. Esettanulmányok viszont vannak, azokból lehet ötleteket csipegetni.

Az upgrade folyamatot meg kell tervezni, sűrű backup visszatöltések és anyázások során localhoston le kell tesztelni, dokumentálni. Ezt drush, git, features nélkül én kivitelezhetetlennek tartom, tehát már itt látszik, hogy nem kezdőknek való feladat az update.

Olyan architekturális módosításokról már ne is beszéljünk, hogy van nem támogatott profile module, aminek az adatait illik field API alapúra migrálni, a favorite_nodes modul dolgait flaggé és ezernyi más dolog.

3
0

----
Rájöttem, miért kérdezek olyan ritkán a drupal.hu-n. Amíg szedem össze az infokat a kérdéshez, mindig rájövök a megoldásra.

Balu Ertl képe

Fel lehetne venni egy ”upgrade-elés” (magyarosabban talán “főverzió-frissítés”) kulcsszót a munkaajánlatok beküldése oldalra? Most csak a hasonló jelentésű “migrálás” és “régi átalakítása” buzzwördök* választhatók, de egyik sem specifikusan ezt jelenti.

*U.i. a buzzword helyett lehetne kulcsszó? (Esetleg hívószó?)

1
0