2 drupal 1 adatbázis
Üdv!
Csak annyit szeretnék kérdezni, hogy 1 szerveren használhat-e közös adatbázist 2 külön telepített drupal? Esetleg létezik valami féle szinkronizáció?
Illetve, hogy valaki tudna-e esetleg egy linket küldeni, vagy egy rövid leírást erről a megoldásról?
Probléma: Egy szerveren telepítve van 2 drupal, 2 külön adatbázissal, ám mindkettőre van egy-egy olyan mudul, aminek közös adatbázist kellene használnia... Mivel nem értek a drupalhoz, a modult meg nehéz lenne "drupaltalanítani", (és nem is érdemes, mert jól meg van írva!), ezért arra gondoltam hogy replikálom a használt adattáblákat. Megoldható ez? Esetleg van erre valami egyszerűbb megoldás drupalban?
Előre is köszönöm!
■ Csak annyit szeretnék kérdezni, hogy 1 szerveren használhat-e közös adatbázist 2 külön telepített drupal? Esetleg létezik valami féle szinkronizáció?
Illetve, hogy valaki tudna-e esetleg egy linket küldeni, vagy egy rövid leírást erről a megoldásról?
Probléma: Egy szerveren telepítve van 2 drupal, 2 külön adatbázissal, ám mindkettőre van egy-egy olyan mudul, aminek közös adatbázist kellene használnia... Mivel nem értek a drupalhoz, a modult meg nehéz lenne "drupaltalanítani", (és nem is érdemes, mert jól meg van írva!), ezért arra gondoltam hogy replikálom a használt adattáblákat. Megoldható ez? Esetleg van erre valami egyszerűbb megoldás drupalban?
Előre is köszönöm!
settings.php
Igen.
Olvasgass bele a sites/default/default.settings.php állományba (lehet át van nevezve settings.php-ra), ebben a fájlban minden infót megtalálsz. Errefelé keresgélj:
* Database settings:
...
* $db_prefix = 'main_';
...
* $db_prefix = array(
* 'default' => 'main_',
* 'users' => 'shared_',
* 'sessions' => 'shared_',
* 'role' => 'shared_',
* 'authmap' => 'shared_',
* );
...
*/
$db_url = 'mysql://username:password@localhost/databasename';
Ha ki vannak törölve a kommentek a fájlból, akkor tölts le egy Drupal-t, abban biztosan megtalálod.
Telepített drupal esetén?
ezt telepítés előtt kell
Na most ez teljesen mindegy. Nem tudom mi a konkrét probléma a te esetedben, illetve hogy csak közös adatbázist, vagy esetleg közös táblákat is kellene használnia a két Drupal rendszerednek. Szóval tegyük fel, vannak a valami.hu és akarmi.hu honlapjaid, amelyek eddig két adatbázist használtak, viszont most egy adatbázissal kell mindkettőt működtetni.
Ehhez először is kell ugye a közös adatbázis, amelynek a példa kedvért legyen a neve most kozos. Ebbe az adatbázisba kell áthelyezned a valami.hu és akarmi.hu tábláit, ajánlott hogy az egyes oldalakhoz tartozó táblákat nevezd át, lásd el például "valami_" és "akarmi_" előtaggal. Értelem szerűen ugye amennyiben az egyik honlapod eddig is a kozos nevezetű adatbázist használta, annak a tábláit nem kell áthelyezned, de az előtagok megadása a már meglévő táblák esetében is ajánlott.
Aztán van két settings.php állományod, egyik a valami.hu/sites/default, másik az akarmi.hu/sites/default elérési útvonalon. Ezeket a fájlokat nagyjából így kell módosítanod:
valami.hu/sites/default/settings.php
* Database settings:
*/
$db_prefix = 'valami_';
$db_url = 'mysql://username:password@localhost/kozos';
akarmi.hu/sites/default/settings.php
* Database settings:
*/
$db_prefix = 'akarmi_';
$db_url = 'mysql://username:password@localhost/kozos';
Ebben az esetben már csak a kozos nevezetű adatbázist fogják használni a honlapjaid, az egyik a "valami_", míg a másik az "akarmi_" előtaggal ellátott táblákat.
Amennyiben ezen kívül azt is szeretnéd, hogy egyes táblákat is közösen használjanak a Drupal rendszereid, akkor tömbként kell megadnod a settings.php fájlokban a $db_prefix változót, a tömb kulcsaiként a megosztani kívánt táblák eredeti, prefix nélküli neveit, a kulcshoz tartozó értékként pedig azt az előtagot, amellyel rendelkezik a közösen használt tábla. Például:
valami.hu/sites/default/settings.php
* Database settings:
*/
$db_prefix = array(
'default' => 'valami_',
'users' => 'akarmi_',
'sessions' => 'akarmi_',
'role' => 'akarmi_',
'authmap' => 'akarmi_',
);
$db_url = 'mysql://username:password@localhost/kozos';
A fenti példában az "users", "sessions", "role", "authmap" táblákat közösen használja a valami.hu és akarmi.hu honlapod, míg az összes többi esetben a valami.hu honlap a "default" értékeként megadott "valami_" előtaggal ellátott táblákat.
Töröld a cache_ előtagú táblák tartalmát, és amennyiben nincs valamilyen oldalspecifikus egzotikus változó megadva a variables táblában, akkor igen.
A két oldalt "offline" teszed, az adatbázisokról mentést csinálsz, mielőtt belekezdenél. :) Aztán csak bátran...