削除せずにFTPでひたすら上書きです。
8.3.0のconcreteディレクトリを削除して8.3.1のconcreteディレクトリをアップロードした場合は8.3.2にできるという事になります。
8.3.1→8.3.2のアップデートでエラー
2018年1月23日 at 10:18
23日に8.3.2がリリースされていたので早速アップしようと思ったのですが以下のエラーが出てしまいました。
Cannot override final method Concrete\Core\Updater\Migrations\AbstractMigration::up()
concreteディレクトリの上書きアップロードです。
ファイルアップ時の問題かと思い2度試しましたが変わりませんでした。
サーバーのエラーログを見てみると、
/concrete/src/Updater/Migrations/Migrations/Version20170803000000.php on line 49
とあるのですが、ダウンロードしたZIP内にはVersion20170803000000.phpが存在していません。
Xserver
PHP7.1.4
5.7.16 - MySQL Community Server (GPL)
【解決】
調べたところ、8.3.0には該当ファイルが存在しています。
8.3.1のダウンロードファイル(ZIP)内からは存在していません。
8.3.0から上書きアップデートで8.3.1にするとVersion20170803000000.phpが残ります。
この状態だとエラーが起きるので、サーバーからVersion20170803000000.phpを削除するとエラーが出なくなります。
8.3.1へのアップデートではエラーが出ませんが、8.3.2ではエラーになります。
タグ:
Re: 8.3.1→8.3.2のアップデートでエラー
2018年1月23日 at 22:05
ありがとうございます!
自分のところでも、concrete ディレクトリ上書きアップデート方式をとったとしても、
・concrete5 最新版のファイルをダウンロード
・concrete フォルダを concrete_new などにリネーム
・そのまま FTP などでアップロード
・現状の concrete フォルダを concrete_old に変更
・concrete_new を concrete フォルダに変更
・アップグレードを実施
などの方法をとっています。
こうすることで、サイトのメンテナンスタイムを最小限に抑えられるからです。
サーバーの管理が得意な方は、シェルスクリプトを用意しています。
参考:アップグレードシェルスクリプト
http://github.com/concrete5cojp/concrete5-upgrade-shell
自分のところでも、concrete ディレクトリ上書きアップデート方式をとったとしても、
・concrete5 最新版のファイルをダウンロード
・concrete フォルダを concrete_new などにリネーム
・そのまま FTP などでアップロード
・現状の concrete フォルダを concrete_old に変更
・concrete_new を concrete フォルダに変更
・アップグレードを実施
などの方法をとっています。
こうすることで、サイトのメンテナンスタイムを最小限に抑えられるからです。
サーバーの管理が得意な方は、シェルスクリプトを用意しています。
参考:アップグレードシェルスクリプト
http://github.com/concrete5cojp/concrete5-upgrade-shell
Your post has been saved and will be published after approval by the forum moderator.
Katz Ueno
Re: 8.3.1→8.3.2のアップデートでエラー
すいません、確認です。
> 8.3.0から上書きアップデートで8.3.1にするとVersion20170803000000.phpが残ります。
つまり、8.3.0 -> 8.3.1 への上書きアップデートとは、
FTP なんかで、8.3.0 のコアファイルを削除せずに、ひたすら上書きアップデートをおこなったということでしょうか?
8.3.0 ディレクトリを削除してから、8.3.1 ディレクトリをアップロードしていた場合は、migration ファイルは存在しないので、8.3.1->8.3.2 できるという理解でいいですかね?
検証ありがとうございます。