Drupal միջուկի թարմացում Drush-ով
Այս փաստաթուղթը հնացած է։ Խնդրում ենք օգնել թարմացնել այն։
Նախքան սկսելը
Խորհուրդ է տրվում օգտագործել Composer՝ Drupal-ի կախվածությունների կառավարման համար։ Դիտեք Composer-ի օգտագործումը Drupal-ի հետ ավելին իմանալու համար։ Drush 9-ը այլևս չի աջակցում Drupal-ի թարմացում և դնում է այդ աշխատանքը Composer-ի վրա։ Ուստի խորհուրդ է տրվում օգտագործել Composer Drupal թարմացնելու համար։ Այնուամենայնիվ, եթե երկար ժամանակ օգտագործել եք Drush, կարող եք դեռևս օգտվել Drush 8 (8.14 կամ ավելի ուշ) Drupal 8 թարմացնելու համար։
P.S.՝ այս հրահանգների նախաբանում ամփոփված են թարմացման բոլոր տարբերակները, որոնք կարող եք ընտրել։
Շատ կարևոր է միշտ վերադառնալ պահպանումին, եթե թարմացման ընթացքում առաջանում է կործանարար սխալ։
Drupal 8 միջուկի թարմացում
Գործողություններ Drupal 8 միջուկի թարմացման համար օգտագործելով Drush 8.x. Drush-ը Drupal Shell է։
1. Պահպանում կատարեք Ձեր ֆայլերի և տվյալների բազայի համար։ Drush-ով ներմուծեք և կատարեք հետևյալ հրամանը.
drush archive-dump
Նշումներ՝
- Շատ կարևոր է թարմացումից առաջ պահպանումներ անել։ Այսպես, եթե թարմացման ընթացքում կամ հետո ինչ-որ բան անսպասելի լինի, հեշտությամբ և արագ կարող եք հետ դարձնել։
- Վերոնշյալ «drush archive-dump» հրամանը ստեղծում է .tar.gz ֆայլեր և տվյալների բազա։ Սա Drush-ի հին հրաման է, որը նախատեսվում է հեռացվել Drush-ում։ Այն ընդգրկում է միայն /web կոդային փաթեթի ֆայլերը։
2. Ստուգեք թարմացումները
drush pm-updatestatus
- Նշում՝ սա «ups» հրամանի տարանջատուն է։
- Նշում՝ այս հրամանը չի խորհուրդ տրվում Composer-ով տեղադրված կայքերի համար, խնդրում ենք օգտագործել composer-show։
3. Մտցրեք սպասարկման ռեժիմ
drush state-set system.maintenance_mode 1
Նշում՝ հրամանի տարանջատուն «sset» է։
4. Очистите кеш
drush cache-rebuild
Նշումներ՝
- Տարանջատուն՝ «cr» հրամանը։
- Այս հրամանը մաքրում է cache_* սեղանները Drupal տվյալների բազայում և վերակառուցում կայքի կոնտեյները։
5. Ընտրեք հետևյալ տարբերակներից մեկը կամ մի քանիսը թարմացնելու համար։ Ընտրությունը կախված է այն թարմացումից, որն անհրաժեշտ է։ pm-update (տարանջատուն՝ up) թարմացնում է կոդը և կիրառվում են սպասվող տվյալների բազայի թարմացումներ, ինչպես pm-updatecode + updatedb։
Տարբերակ՝ թարմացնել Drupal 8 միջուկը
drush pm-update drupal
Տարբերակ՝ թարմացնել Drupal 8 միջուկը զարգացման ճյուղին, միայն թեստավորման և պաչերի ստեղծման համար (չի օգտագործվում արտադրության մեջ)
drush pm-update drupal-8.5.x-dev
Տարբերակ՝ թարմացնել մեկ մոդուլ
drush pm-update module_name
Տարբերակ՝ թարմացնել միայն անվտանգության թարմացումները
drush pm-update --security-only
6. Անհրաժեշտության դեպքում նորից կիրառեք ցանկացած ձեռքով կատարված փոփոխություններ ֆայլերում, օրինակ՝ .htaccess, composer.json կամ robots.txt. Drush-ը դա չի անում ինքնաբերաբար։
7. Նորից կիրառեք բոլոր հիմնական շտկումները, որոնք օգտագործել եք թարմացման նախորդ շրջանում (եթե դրանք դեռ միացված չեն)։
1. Դրանք հեշտությամբ կարելի է գտնել լավ commit հաղորդագրությունների միջոցով։
% git log --oneline --reverse core
ee2bf8dd Issue #18: Updated Drupal core from 8.3.4 to 8.3.5.
267e3ad0 Issue #27: Applied patch from https://www.drupal.org/project/drupal/issues/2174633#comment-12291691.
718ecba5 Issue #9: Applied patch from https://www.drupal.org/project/drupal/issues/2906229#comment-12496488.
2. Յուրաքանչյուր նախորդ շտկումից հետո վերջին միջուկի թարմացումից սկսած, օգտագործեք git cherry-pick հրամանը (կամ լուծեք հակասությունները, եթե լինեն) քրոնոլոգիական կարգով։
% git cherry-pick 267e3ad0
% git cherry-pick 718ecba5
8. Եթե օգտագործում եք Composer PHP գրադարանների կառավարման համար (օրինակ՝ որոշ հավելյալ մոդուլների դեպքում), թարմացրեք /vendor կատալոգը հետևյալ հրամանով՝
composer update drupal/core --with-dependencies
9. Թարմացրեք տվյալների բազան, եթե պահանջվում են անհրաժեշտ թարմացումներ
drush updatedb
Նշում՝ տարանջատուն՝ updb հրամանի։
10. Ստուգեք, որ Ձեր կայքը կարգին է։ Ա hierfür.
- Դիտեք Drupal-ի վիճակագրական զեկույցի էջը։
- Բրաուզերով ստուգեք կայքի կարևոր էջերը։
11. Փակեք սպասարկման ռեժիմը
drush state-set system.maintenance_mode 0
12. Մաքրել կեշը կրկին
drush cache-rebuild
13. Ավարտված։ Դուք հաջողությամբ թարմացրել եք Ձեր Drupal 8-ը Drush-ով։ :)
Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.