アップグレード時にappの更新に失敗する対応¶
アップグレード前に次のバージョンへの互換性なしの警告が出ていることがあるので、出来ればその際に無効化しておきたい。
もし上記やその他を含む場合でアップデート時の「./occ upgrade」でappの更新で以下のようにエラーが出る場合の対策。
# sudo -u apache php ./occ upgrade Nextcloud or one of the apps require upgrade - only a limited number of commands are available You may use your browser or the occ upgrade command to do the upgrade Setting log level to debug Updating database schema Updated database Updating <user_ldap> ... Exception: Database error when running migration latest for app user_ldap Update failed
例えば上記では「user_ldap」でエラーが出ているので、以下のように一度無効化する。
この際、configから当該appの設定が自動的に消える場合があるので事前にバックアップしておく。
# cd <nextcloudインストール先> # cp -p config/config.php config/config.php.bak # sudo -u apache php ./occ app:disable user_ldap
upgradeに失敗していた場合はupgradeしていないとコマンドに制限がある旨が出るが、今回はそのまま実行できる。
結果として無効化されたことを確認する。
Nextcloud or one of the apps require upgrade - only a limited number of commands are available You may use your browser or the occ upgrade command to do the upgrade user_ldap 1.12.2 disabled
再度アップグレードを実行する。
# sudo -u apache php ./occ upgrade Nextcloud or one of the apps require upgrade - only a limited number of commands are available You may use your browser or the occ upgrade command to do the upgrade Setting log level to debug Updating database schema Updated database Updating <dav> ...
エラーとなったappがスキップされてアップデートが実行できること。
完了後、もしappが最新版に対応して別途配布されているようであればappを再インストールし、無効化時に
configから消えている項目をバックアップから戻す。