Změna předpony tabulek v databázi

Odpovědět Téma
Avatar uživatele
leschek
Administrátor
Reakce:
Příspěvky: 724
Registrován: 23 Říj 2005 23:22
Tykání: Ano
Kontaktovat uživatele:

Změna předpony tabulek v databázi

Nepřečtený příspěvek od leschek »

Změna předpony tabulek v databázi

Někteří uživatelé phpBB se můžou (obvykle při aktualizaci phpBB) dostat do problému s délkou názvu tabulky v databázi, který může mít jen 30 znaků (což je potřeba, aby šlo používat Oracle databázi). Problém je v tom, že pokud uživatel přejmenuje výchozí předponu tabulek a dá jí delší název o více než jeden znak než je výchozí název, tak spolu s delším názvem několika tabulek v phpBB 3.1 dosáhne snadno maxima znaků a objeví se mu výše zmíněná chyba. Při nové instalaci phpBB to není problém, protože lze nainstalovat phpBB znovu, ale při aktualizaci fóra se prostě musí předpona tabulek změnit.

Určitě jde změna předpony tabulek provést manuálně v phpMyAdminu, ale tento návod bude popisovat práci se starším skriptem, který ale podle mého testu na lokálním fóru funguje i na phpBB 3.1.x.

Předtím, než popíšu práci se skriptem musím upozornit, že nejsem odborník na práci s databázemi, proto asi nebudu schopen řešit možné problémy, do kterých se můžete při používání skriptu dostat. Z toho důvodu si zazálohujte před začátkem akce vaši databázi. Pokud se něco pokazí, nehažte odpovědnost na mě.

Po úvodu delším než jsem čekal se konečně dostáváme k podrobnému návodu:
  1. Přejděte na tuto stránku a pokud vás zajímají podrobnosti o tom, co skript obsahuje, si stránku přečtěte. Jinak sjeďte dolů a pomocí tlačítka „Download Source“ stáhněte skript.
     
  2. Rozbalte stažený zip a soubor „prefix.php“ nahrajte do kořenového adresáře vašeho fóra (tam, kde je soubor „config.php“)
     
  3. Otevřete v prohlížečí následující adresu:

    http://www.vase_forum/prefix.php
     
  4. Vyplňte formulář, který se zobrazí po načtení skriptu v prohlížeči (všechny potřebné údaje najdete v souboru „config.php“ v kořenovém adresáři fóra):

    460

    kde:
    1. Enter database name“ („Vložte název databáze“) - V souboru „config.php“ je to položka „$dbname“
       
    2. Enter database user“ („Vložte uživatele databáze“) - položka „$dbuser“
       
    3. Enter database password“ („Vložte heslo k databázi“) - položka „$dbpasswd“
       
    4. Enter New Prefix“ („Vložte novou předponu“) - vložte novou (kratší) předponu tabulek bez končícího podtržítka. Já jsem použil „bbhph“. Předpona by neměla být delší než 5 znaků.
    Po vyplnění formuláře klikněte na tlačítko „Change Table Prefixes“. Po odeslání formuláře se objeví hláška, že je ve skriptu použitá zastaralá funkce, které bude v budoucnu odstraněna a tak skript může přestat časem fungovat.

    461

    Nicméně pod touto hláškou je zobrazeno, že jednotlivé tabulky byly úspěšně přejmenované - „Successfully renamed phpbb_acl_groups to bbhph_acl_groups in qi31_newspage“ (všimněte si změny předpony z phpbb na bbhph)
     
  5. V kořenovém adresáři fóra (na serveru) najděte složku „cache“ a smažte v ní všechny soubory kromě souborů „.htaccess“ a „index.htm“.
     
  6. Otevřete soubor „config.php“ v Notepadu ++ nebo PSPadu (doporučené editory kódů) a změňte položku „$table_prefix“. V mém případě to je z:

    $table_prefix = 'phpbb_';

    na:

    $table_prefix = 'bbhph_';
     
  7. Otestujte, jestli fórum funguje a smažte ze serveru nahraný soubor „prefix.php“.

    A to je vše. Tady jsou ještě skrýnšoty z phpMyAdminu před změnou předpony tabulek a po ní:

    462 463
Odpovědět