Alternatywna medota migracji
Z MoodleDocs
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.