Köszönet Den-nek az alábbi leírásért:
Ezen frissítési leírás biztosan működik frissítési kiadások között, pl: 6.13 -> 6.14.
Mindent ugyanúgy kell csinálni, ahogy a drupal telepítő készlet upgrade.txt-jében meg van határozva.
Néhány telepítési pontban nagy segítséget nyűjt a drush:
5. Disable all custom and contributed modules.
Ki kellene kapcsolni minden modult, amely nem az alap rendszer része. Erre tökéletesen alkalmas a drush. Először is kilistázzuk a bekapcsolt modulokat:
$ drush statusmodules
Minden parancsot a drupal telepítés főkönyvtárában kell kiadni.
A statusmodules --pipe kapcsolóját használva egy olyan modul név listához jutunk, amely felhasználható a modulok be és kikapcsolásához is. Mindkét parancs üres karakterrel tagolt modul név listát vár. A --pipe pont ilyen listát ad:
$ drush statusmodules --pipe admin_menu admin_menu_toolbar automenu block comment content content_copy custom_breadcrumbs date date_api date_popup date_timezone dblog excerpt extlink fieldgroup filefield filter globalredirect googleanalytics help image_fupload image_fupload_imagefield imageapi imageapi_gd imagecache imagecache_ui imagefield imce imce_wysiwyg jquery_ui locale menu menu_breadcrumb node nodereference nodewords noindex_external_links number optionwidgets page_title path path_redirect pathauto robotstxt seochecklist site_verify spamspan system taxonomy taxonomy_breadcrumb text token translation update upload user userreference wysiwyg
Egy a baj ezzel a listával: olyan modulok is benne vannak, amelyek az alap rendszer részei (pl. node, system). Ezeket egy mozdulattal ki lehet szedni a listából. Ha nem így teszünk, akkor annak csúnya vége lehet. Próbáltam...
$ drush statusmodules --pipe | sed 's! block ! !; s! filter ! !; s! node ! !; s! system ! !; s! user ! !; s! update ! !; s! menu ! !; s! path ! !; s! locale ! !;'
A sed parancs egy unixos stream szerkesztő szövegek szűréséhez és átformálásához. Az s parancs a szöveg csere parancs. A határoló jelek között lévő szövegeket cseréli ki. Az s! block ! ! azt jelenti, hogy ahol a block szöveg szerepel üres karakterekkel határolva, azt cserélje le egy üres karakterre. Ha az üres karakterek nélkül adnánk ki a parancsot, akkor más block nevet tartalmazó modul nevét elrontaná a módszer.
A fenti verzióban benne maradt még néhány, nem rendszer modult: menu, path, locale, update. Ha nincs update modul, akkor nem fog lefutni az adatbázis update.
A fenti parancssor futtatása után már csak azokat a modulokat kapjuk a listában, amelyeket ténylegesen ki kell kapcsolni:
admin_menu admin_menu_toolbar automenu comment content content_copy custom_breadcrumbs date date_api date_popup date_timezone dblog excerpt extlink fieldgroup filefield globalredirect googleanalytics help image_fupload image_fupload_imagefield imageapi imageapi_gd imagecache imagecache_ui imagefield imce imce_wysiwyg jquery_ui menu_breadcrumb nodereference nodewords noindex_external_links number optionwidgets page_title path_redirect pathauto robotstxt seochecklist site_verify spamspan taxonomy taxonomy_breadcrumb text token translation upload userreference wysiwyg
Erre szükség lesz később is. Ha nem tudjuk elmenteni, akkor irányítsuk át egy állományba:
$ drush statusmodules --pipe | sed 's! block ! !; s! filter ! !; s! node ! !; s! system ! !; s! user ! !; s! update ! !; s! menu ! !; s! path ! !; s! locale ! !;' > active_modules.lst
Ezután az active_modules.lst állományt listázva megkaphatjuk azon modulok listáját, amit az alap rendszer frissítése előtt ki kell kapcsolni, majd a frissítés után meg be.
A modulok kikapcsolása:
$ drush disable admin_menu admin_menu_toolbar automenu comment content content_copy custom_breadcrumbs date date_api date_popup date_timezone dblog excerpt extlink fieldgroup filefield globalredirect googleanalytics help image_fupload image_fupload_imagefield imageapi imageapi_gd imagecache imagecache_ui imagefield imce imce_wysiwyg jquery_ui menu_breadcrumb nodereference nodewords noindex_external_links number optionwidgets page_title path_redirect pathauto robotstxt seochecklist site_verify spamspan taxonomy taxonomy_breadcrumb text token translation upload userreference wysiwyg
Ezután végezzük el a rendszer frissítés többi pontját, egészen a 12.-es pontig:
12. Re-enable custom and contributed modules and re-run update.php to update custom and contributed database tables.
Itt megint hívjuk segítségül a drush-t és az elmentett modul listát:
$ drush enable admin_menu admin_menu_toolbar automenu comment content content_copy custom_breadcrumbs date date_api date_popup date_timezone dblog excerpt extlink fieldgroup filefield globalredirect googleanalytics help image_fupload image_fupload_imagefield imageapi imageapi_gd imagecache imagecache_ui imagefield imce imce_wysiwyg jquery_ui menu_breadcrumb nodereference nodewords noindex_external_links number optionwidgets page_title path_redirect pathauto robotstxt seochecklist site_verify spamspan taxonomy taxonomy_breadcrumb text token translation upload userreference wysiwyg
Ha minden jól megy, akkor azon modulok lesznek engedélyezve, amelyek frissítés előtt is voltak. Nem kell megjegyezni, nem kell felírni papírra semmit, a munka fárasztó részét a drush végezte.
Folytassuk tovább a rendszer frissítést a 13. pontnál.
Hozzászólások
Drush
drush pml --no-core --status="enabled" --pipe
Választ szeretnél? - Új kérdés, új téma - Tesztoldal - Trollkezelés - Frissítés
Kicsit bovebben
Kicsit bovebben...
---
http://drupalaton.hu
engedélyezett modulok listája
Az engedélyezett modulok listája fájlba mentve:
drush pml --pipe --status=enabled --type=module | sed ':a;N;$!ba;s/\n/ /g' > m.txt
Választ szeretnél? - Új kérdés, új téma - Tesztoldal - Trollkezelés - Frissítés