Column 'post_text' cannot be part of FULLTEXT index

phpBB 3.0 hat sein "End of Life" erreicht. Eine Neu-Installation wird nicht mehr unterstützt.
Gesperrt
Benutzeravatar
Loewenherz
Mitglied
Beiträge: 624
Registriert: 10.02.2003 20:11
Wohnort: Saarlouis
Kontaktdaten:

Column 'post_text' cannot be part of FULLTEXT index

Beitrag von Loewenherz »

Hi,

ich beziehe mich genau auf diese Fehlermeldung - den Weg dazu habe ich hier beschrieben: http://www.phpbb.de/community/viewtopic ... 2#p1157272 - hatte die zu meinem Problem passende Fehlermeldung fortgeführt. Aber da hier das passende Board ist, ergänze ich nochmal.

Es ging um ein Update von phpBB 3.0.5 auf 3.0.6 nach Serverwechsel von MySQL 4 auf 5 sowie Nutzung des MySQL-Migrators.
#1283 - Column 'post_text' cannot be part of FULLTEXT index
Mir ist jetzt allerdings nicht ganz klar, ob auch hier die Entfernung einer Zeile die Lösung bringen könnte (hab die betreffende Zeile mal hervorgehoben):
ALTER TABLE phpbb_posts
MODIFY post_id mediumint(8) UNSIGNED NOT NULL auto_increment,
MODIFY topic_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL,
MODIFY forum_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL,
MODIFY poster_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL,
MODIFY icon_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL,
MODIFY poster_ip varchar(40) DEFAULT '' NOT NULL COLLATE utf8_bin,
MODIFY post_time int(11) UNSIGNED DEFAULT '0' NOT NULL,
MODIFY post_approved tinyint(1) UNSIGNED DEFAULT '1' NOT NULL,
MODIFY post_reported tinyint(1) UNSIGNED DEFAULT '0' NOT NULL,
MODIFY enable_bbcode tinyint(1) UNSIGNED DEFAULT '1' NOT NULL,
MODIFY enable_smilies tinyint(1) UNSIGNED DEFAULT '1' NOT NULL,
MODIFY enable_magic_url tinyint(1) UNSIGNED DEFAULT '1' NOT NULL,
MODIFY enable_sig tinyint(1) UNSIGNED DEFAULT '1' NOT NULL,
MODIFY post_username varchar(255) DEFAULT '' NOT NULL COLLATE utf8_bin,
MODIFY post_subject varchar(255) DEFAULT '' NOT NULL COLLATE utf8_unicode_ci,
MODIFY post_text mediumtext NOT NULL COLLATE utf8_bin,
MODIFY post_checksum varchar(32) DEFAULT '' NOT NULL COLLATE utf8_bin,
MODIFY post_attachment tinyint(1) UNSIGNED DEFAULT '0' NOT NULL,
MODIFY bbcode_bitfield varchar(255) DEFAULT '' NOT NULL COLLATE utf8_bin,
MODIFY bbcode_uid varchar(8) DEFAULT '' NOT NULL COLLATE utf8_bin,
MODIFY post_postcount tinyint(1) UNSIGNED DEFAULT '1' NOT NULL,
MODIFY post_edit_time int(11) UNSIGNED DEFAULT '0' NOT NULL,
MODIFY post_edit_reason varchar(255) DEFAULT '' NOT NULL COLLATE utf8_bin,
MODIFY post_edit_user mediumint(8) UNSIGNED DEFAULT '0' NOT NULL,
MODIFY post_edit_count smallint(4) UNSIGNED DEFAULT '0' NOT NULL,
MODIFY post_edit_locked tinyint(1) UNSIGNED DEFAULT '0' NOT NULL,
DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
Was meint ihr, was hier Sinn machen würde?

Unter http://www.phpbb.com/community/viewtopi ... 6&t=926905 wird von Stucco eine Lösung beschrieben, wo ich überlege, ob das Sinn machen könnte:

Code: Alles auswählen

ALTER TABLE `phpbb3_posts` ADD FULLTEXT (
`post_text`
) 
Edit: Hier gibt es einen Upgrade-Patch - http://www.phpbb.com/bugs/phpbb3/ticket ... t_id=46285 - aber ob ich damit etwas anfangen könnte?
Downloads für phpBB, die ich seit 2001 angeboten habe, gibt es nicht mehr - die Mitarbeit beim Übersetzer-Team von phpBB3 war mein letzter aktiver Beitrag zu phpBB, zeitlich geht leider nichts mehr. Aktuell blogge ich nur noch phasenweise auf SEO Scene.
Ceterum censeo Google esse delendam
Benutzeravatar
Mahony
Ehemaliges Teammitglied
Beiträge: 12179
Registriert: 17.11.2005 22:33
Wohnort: Ostfildern Kemnat
Kontaktdaten:

Re: Column 'post_text' cannot be part of FULLTEXT index

Beitrag von Mahony »

Hallo
Schau mal im ACP unter - Wartung - Such-Indizes, ob da bei Fulltext mysql ein index existiert. Falls ja, dann lösche den index.
Danach versuchs noch einmal mit dem code

Code: Alles auswählen

ALTER TABLE phpbb_posts
MODIFY post_id mediumint(8) UNSIGNED NOT NULL auto_increment,
MODIFY topic_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL,
MODIFY forum_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL,
MODIFY poster_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL,
MODIFY icon_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL,
MODIFY poster_ip varchar(40) DEFAULT '' NOT NULL COLLATE utf8_bin,
MODIFY post_time int(11) UNSIGNED DEFAULT '0' NOT NULL,
MODIFY post_approved tinyint(1) UNSIGNED DEFAULT '1' NOT NULL,
MODIFY post_reported tinyint(1) UNSIGNED DEFAULT '0' NOT NULL,
MODIFY enable_bbcode tinyint(1) UNSIGNED DEFAULT '1' NOT NULL,
MODIFY enable_smilies tinyint(1) UNSIGNED DEFAULT '1' NOT NULL,
MODIFY enable_magic_url tinyint(1) UNSIGNED DEFAULT '1' NOT NULL,
MODIFY enable_sig tinyint(1) UNSIGNED DEFAULT '1' NOT NULL,
MODIFY post_username varchar(255) DEFAULT '' NOT NULL COLLATE utf8_bin,
MODIFY post_subject varchar(255) DEFAULT '' NOT NULL COLLATE utf8_unicode_ci,
MODIFY post_text mediumtext NOT NULL COLLATE utf8_bin,
MODIFY post_checksum varchar(32) DEFAULT '' NOT NULL COLLATE utf8_bin,
MODIFY post_attachment tinyint(1) UNSIGNED DEFAULT '0' NOT NULL,
MODIFY bbcode_bitfield varchar(255) DEFAULT '' NOT NULL COLLATE utf8_bin,
MODIFY bbcode_uid varchar(8) DEFAULT '' NOT NULL COLLATE utf8_bin,
MODIFY post_postcount tinyint(1) UNSIGNED DEFAULT '1' NOT NULL,
MODIFY post_edit_time int(11) UNSIGNED DEFAULT '0' NOT NULL,
MODIFY post_edit_reason varchar(255) DEFAULT '' NOT NULL COLLATE utf8_bin,
MODIFY post_edit_user mediumint(8) UNSIGNED DEFAULT '0' NOT NULL,
MODIFY post_edit_count smallint(4) UNSIGNED DEFAULT '0' NOT NULL,
MODIFY post_edit_locked tinyint(1) UNSIGNED DEFAULT '0' NOT NULL,
DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
Anschließend kannst du den Suchindex wieder neu erstellen lassen.

Das ganze sollte eigentlich genau so funktionieren - siehe hier http://www.phpbb.de/community/viewtopic ... 5#p1109455


Grüße: Mahony
Taekwondo in Berlin
Wer fragt, ist ein Narr für fünf Minuten, wer nicht fragt, ist ein Narr für immer.
Benutzeravatar
bantu
Server-Team
Beiträge: 7311
Registriert: 25.04.2006 16:12
Wohnort: Karlsruhe

Re: Column 'post_text' cannot be part of FULLTEXT index

Beitrag von bantu »

Folgendes Vorgehen müsste funktionieren: Such-Index löschen, MySQL-Upgrader für deine Version, Update auf die neueste phpBB-Version, Such-Index wieder erstellen.
Powered by Coffee
Benutzeravatar
Loewenherz
Mitglied
Beiträge: 624
Registriert: 10.02.2003 20:11
Wohnort: Saarlouis
Kontaktdaten:

Re: Column 'post_text' cannot be part of FULLTEXT index

Beitrag von Loewenherz »

Hi,

der am Ende meines Postings erwähnte Bug hatte mich auf eine Spur gebracht: der verwendete mysql_upgrader war älter als beispielsweise dieser hier: http://code.phpbb.com/repositories/entr ... ?rev=10219

Der resultierende Vorschlag lautete:

Code: Alles auswählen

ALTER TABLE phpbb_posts
DROP INDEX post_text,
DROP INDEX post_subject,
DROP INDEX post_content;

ALTER TABLE phpbb_posts
MODIFY post_id mediumint(8) UNSIGNED NOT NULL auto_increment,
MODIFY topic_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL,
MODIFY forum_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL,
MODIFY poster_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL,
MODIFY icon_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL,
MODIFY poster_ip varchar(40) DEFAULT '' NOT NULL COLLATE utf8_bin,
MODIFY post_time int(11) UNSIGNED DEFAULT '0' NOT NULL,
MODIFY post_approved tinyint(1) UNSIGNED DEFAULT '1' NOT NULL,
MODIFY post_reported tinyint(1) UNSIGNED DEFAULT '0' NOT NULL,
MODIFY enable_bbcode tinyint(1) UNSIGNED DEFAULT '1' NOT NULL,
MODIFY enable_smilies tinyint(1) UNSIGNED DEFAULT '1' NOT NULL,
MODIFY enable_magic_url tinyint(1) UNSIGNED DEFAULT '1' NOT NULL,
MODIFY enable_sig tinyint(1) UNSIGNED DEFAULT '1' NOT NULL,
MODIFY post_username varchar(255) DEFAULT '' NOT NULL COLLATE utf8_bin,
MODIFY post_subject varchar(255) DEFAULT '' NOT NULL COLLATE utf8_unicode_ci,
MODIFY post_text mediumtext NOT NULL COLLATE utf8_bin,
MODIFY post_checksum varchar(32) DEFAULT '' NOT NULL COLLATE utf8_bin,
MODIFY post_attachment tinyint(1) UNSIGNED DEFAULT '0' NOT NULL,
MODIFY bbcode_bitfield varchar(255) DEFAULT '' NOT NULL COLLATE utf8_bin,
MODIFY bbcode_uid varchar(8) DEFAULT '' NOT NULL COLLATE utf8_bin,
MODIFY post_postcount tinyint(1) UNSIGNED DEFAULT '1' NOT NULL,
MODIFY post_edit_time int(11) UNSIGNED DEFAULT '0' NOT NULL,
MODIFY post_edit_reason varchar(255) DEFAULT '' NOT NULL COLLATE utf8_bin,
MODIFY post_edit_user mediumint(8) UNSIGNED DEFAULT '0' NOT NULL,
MODIFY post_edit_count smallint(4) UNSIGNED DEFAULT '0' NOT NULL,
MODIFY post_edit_locked tinyint(1) UNSIGNED DEFAULT '0' NOT NULL,
DROP INDEX post_username,
ADD KEY post_username (post_username),
DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
Die ersten Zeilen wirkten allerdings SEHR merkwürdig auf mich als jemanden, der nicht wirklich was von PHP/MySQL versteht ;-)

Zum Glück war mittlerweile der Post von Mahony da und funktionierte. Super, vielen Dank!

Damit ist die Migration zweier phpBB 2 auf 3 abgeschlossen und ich kann mich den nächsten Boards zuwenden :)
Downloads für phpBB, die ich seit 2001 angeboten habe, gibt es nicht mehr - die Mitarbeit beim Übersetzer-Team von phpBB3 war mein letzter aktiver Beitrag zu phpBB, zeitlich geht leider nichts mehr. Aktuell blogge ich nur noch phasenweise auf SEO Scene.
Ceterum censeo Google esse delendam
Benutzeravatar
Loewenherz
Mitglied
Beiträge: 624
Registriert: 10.02.2003 20:11
Wohnort: Saarlouis
Kontaktdaten:

Re: Column 'post_text' cannot be part of FULLTEXT index

Beitrag von Loewenherz »

Ok, ganz abgeschlossen ist es nicht, Umlaute werden jetzt nach Umstellung auf UTF falsch dargestellt. Bislang habe ich nur hier etwas dazu gefunden, scheint aber etwas kurz zu sein das Snippet: http://www.phpbb.com/community/viewtopi ... 6&t=612469

Code: Alles auswählen

    
UPDATE phpbb3_posts
SET post_text = REPLACE(post_text, 'ß', 'ß')
WHERE post_text LIKE '%ß%'
Gibt es irgendwas in dieser Form, das ich einfach in phpMyAdmin drüberlaufen lassen kann, damit äüö wieder richtig im post_text stehen?
Downloads für phpBB, die ich seit 2001 angeboten habe, gibt es nicht mehr - die Mitarbeit beim Übersetzer-Team von phpBB3 war mein letzter aktiver Beitrag zu phpBB, zeitlich geht leider nichts mehr. Aktuell blogge ich nur noch phasenweise auf SEO Scene.
Ceterum censeo Google esse delendam
Benutzeravatar
Mahony
Ehemaliges Teammitglied
Beiträge: 12179
Registriert: 17.11.2005 22:33
Wohnort: Ostfildern Kemnat
Kontaktdaten:

Re: Column 'post_text' cannot be part of FULLTEXT index

Beitrag von Mahony »

Hallo
Lies mal hier Die Umlautproblematik. Da wird dir alles wichtige zum Thema erklärt.

P.S. Ich sehe gerade deine Bemerkung
Damit ist die Migration zweier phpBB 2 auf 3 abgeschlossen und ich kann mich den nächsten Boards zuwenden
Da dürfte dann bei der Konvertierung bereits ein Fehler aufgetreten sein. Das hier könnte dir weiter helfen Lösung - phpBB2 zu phpBB3 - Umlaute falsch.

Also in der lang_main.php von phpBB2 vor der Konvertierung folgendes ändern:

Code: Alles auswählen

$lang['ENCODING'] = 'iso-8859-1';
zu

Code: Alles auswählen

$lang['ENCODING'] = 'utf-8';
P.P.S. Ansonsten kannst du es noch mit dem DUK versuchen.


Grüße: Mahony
Taekwondo in Berlin
Wer fragt, ist ein Narr für fünf Minuten, wer nicht fragt, ist ein Narr für immer.
Benutzeravatar
Loewenherz
Mitglied
Beiträge: 624
Registriert: 10.02.2003 20:11
Wohnort: Saarlouis
Kontaktdaten:

Re: Column 'post_text' cannot be part of FULLTEXT index

Beitrag von Loewenherz »

Hi,

sorry, war nur ein Board betroffen, das von 2 auf 3 migriert war vor ca. zwei Monaten. Das andere ist direkt mit einem RC von phpBB3 gestartet. Insofern war deine Vermutung richtig, dass der Fehler bereits bei der Migration geschehen ist. Aber er ist mir erst jetzt bei den Umstellungen der Datenbank aufgefallen oder tauchte erst jetzt auf.

Es waren dabei nur die posts betroffen, keine Sprachdateien (mit denen kenne ich mich zum Glück aus *g*). DUK fand keine falsch codierten Umlaute, obwohl sie in der DB klar erkennbar waren. Letztendlich brachte wie erwartet http://www.phpbb.de/community/viewtopic ... 6#p1083561 die Lösung. Vier Befehle in phpMyAdmin und die Anzeigen sind korrekt.

Danke für deine Hilfe, genau den Thread hatte ich nicht gefunden. Da die nächsten vier Boards alle phpBB2 sind, die endlich auf 3 migriert werden müssen, bin ich jetzt hoffentlich für alle Eventualitäten gerüstet. Einziger Horror könnten die Template-Anpassungen werden, da blicke ich erstmals seit phpBB1 und 2 nicht mehr so ganz durch.
Downloads für phpBB, die ich seit 2001 angeboten habe, gibt es nicht mehr - die Mitarbeit beim Übersetzer-Team von phpBB3 war mein letzter aktiver Beitrag zu phpBB, zeitlich geht leider nichts mehr. Aktuell blogge ich nur noch phasenweise auf SEO Scene.
Ceterum censeo Google esse delendam
Gesperrt

Zurück zu „[3.0.x] Installation, Update und Konvertierung“