@ Composer 化した Drupal のアップデート作業 参考
https://www.drupal.org/docs/updating-drupal/updating-drupal-core-via-composer
操作するユーザを www-data グループに入れておく
composer(ver.1) はメモリーが 2G 以上ないと,OS ごとフリーズしたようになる. なので,スワップファイルを作って対応する.
$ sudo /bin/dd if=/dev/zero of=/var/swap bs=2M count=1024 $ sudo chmod 600 /var/swap $ sudo /sbin/mkswap /var/swap $ sudo /sbin/swapon /var/swap $ export COMPOSER_MEMORY_LIMIT=-1 $ alias comp="COMPOSER_MEMORY_LIMIT=-1 composer"
drupal/core-recommended か drupal/core のどちらのプロジェクトを使っているか確認する.
$ cd /home/drupal $ composer show drupal/core-recommended
リストがたくさん表示されるので drupal/core-recommended を使っていることがわかる.
$ cd /home/drupal $ composer outdated "drupal/*" drupal/coder 8.3.9 8.3.13 drupal/core 8.9.x-dev a83c804 8.9.x-dev 76da907 drupal/core-dev 8.9.x-dev 36370b3 9.3.x-dev dceb37d drupal/core-recommended 8.9.x-dev b4aad1e dev-default 91e393a
$ cd /home/drupal $ ./vendor/bin/drush state:set system.maintenance_mode 1
$ ./vendor/bin/drush cache:rebuild
$ ./vendor/bin/drush sql:dump > /Backup/drupal/drupal8.sqldump.$(date +%F)
でできるはずで,実際にできてそうだが, エラーメッセージとして
> mysqldump: Error: 'Access denied; you need (at least one of) the PROCESS privilege(s) for this operation' when trying to dump tablespaces
と言われる.
なので,確実に以下のコマンドでバックアップしておく
$ sudo -s # mysqldump -u root -p -h localhost --add-drop-table --triggers ¥ --routines --events drupal8 > /Backup/drupal/drupal8.sqldump.$(date +%F)
# cd /home # tar cpzf /Backup/drupal/drupal-file-$(date +%F).tgz drupal
$ /home/drupal $ composer update drupal/core "drupal/core-*" --with-all-dependencies Updating dependencies (including require-dev) - Updating drupal/core (8.9.x-dev a83c804 => 8.9.16): The package has modified files: M scripts/cron-curl.sh M scripts/cron-lynx.sh Discard changes [y,n,v,d,s,?]? y - discard changes and apply the update n - abort the update and let you manually clean things up v - view modified files d - view local modifications (diff) s - stash changes and try to reapply them after the update ? - print help Discard changes [y,n,v,d,s,?]? y <---
ここはどうすればいいのかなぁ(-> y 以外うまくいかない)
以下のファイルが変更されてしまう
$ ./vendor/bin/drush updatedb
$ ./vendor/bin/drush cache:rebuild
$ cd /home/drupal $ ./vendor/bin/drush state:set system.maintenance_mode 0 $ ./vendor/bin/drush cache:rebuild