Alternatywna medota migracji

Z MoodleDocs
Wersja z dnia 16:28, 26 gru 2007 autorstwa Michał Szyda (dyskusja | edycje) (done)
(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)
Skocz do:nawigacja, szukaj

Szablon:Moodle 1.6

Jeżeli szukasz alternatywnej metody migracji dla serwera z PostgreSQL, odwiedź tę stronę.

Jeżeli dostosowując się do wymogu Moodle 1.6, aktualizujesz także serwer MySQL, możesz użyć tej strategii (testowane przy konwersji MySQL 4.0.x do 5.0.x):

  • spraw, aby strona korzystała z tego samego kodowania (np. wszystkie kursy używały latin1/ISO-8859-1)
  • wyłącz stronę
  • eksportuj dane ze starego serwera; MySQL 4.0.x używa domyślnie kodowania 8 bit, więc dane będą skopiowane w ten sam sposób którego używa Moodle:
mysqldump -h <stary host mysql> -u <stary użytkownik bazy> -p <stara nazwa bazy> > dbdump.sql
  • uaktualnij serwer MySQL
  • uaktualnij Moodle; pamiętaj aby zainstalować wersję UTF-8 wszystkich wymaganych języków
  • utwórz nową bazę dla Moodle i nadaj odpowiednie uprawnienia
  • importuj dane (MySQL 5.x używa kodowania UTF-8, przypuścimy, że dane masz kodowane w ISO-8859-1)
mysql -h <nowy host mysql> -u <nowy użytkownik bazy> -p --default-character-set=latin1 <nowa nazwa bazy> < dbdump.sql
  • MySQL automatycznie przekonwertuje kodowanie znaków
  • Teraz musisz uaktualnić niektóre dane z konsoli mysql
update mdl_config set value=concat(value, '.utf8') where name='locale';
update mdl_config set value=concat(value, '_utf8') where name='lang';
update mdl_course set modinfo=null;
update mdl_course set lang=concat(lang, '_utf8') where length(lang) > 1;
update mdl_user set lang=concat(lang, '_utf8') where length(lang) > 1;
update mdl_config set value='1' where name='unicodedb';

  • uaktualnij config.php aby zobaczyć nowy serwer i odkomentuj lnię:

$CFG->unicodedb = 1;

  • włącz ponownie stronę.

Przeniesienie bazy średniej wielkości zajmuje ok 3-4 minuty.