こういう場合はマイグレーションのファイルをテーブル名で検索すると良いんですね。
確かに、DBのそのテーブルには該当する値がありませんでした。
解決方法としてご提示いただいたコマンドについてですが、
コマンドラインツールの起動自体が同じDBエラーで止まっており、
指定のコマンドを打ってもマイグレーション出来なかったため、
8.5.2のMigrationsフォルダに8.5.3の該当マイグレーションファイル(Version20190309000000.php)をコピーして、コマンドを実行できました。
ところが、8.5.3でc5:updateコマンドを打ったところ、
別のマイグレーションの途中でエラー終了してしまい、アップデートできませんでした。
** Executing migration: 20190509205043
Refreshing schema for Concrete\Core\Entity\Express\Entry...
Refreshing schema for Concrete\Core\Entity\Express\Control\PublicIdentifierControl...
Refreshing schema for Concrete\Core\Entity\Express\Control\Control...
In AbstractMySQLDriver.php line 115:
An exception occurred while executing 'ALTER TABLE ExpressFormFieldSetPublicIdentifier
Controls ADD CONSTRAINT FK_67180C04BF396750 FOREIGN KEY (id) REFERENCES ExpressFormFie
ldSetControls (id) ON DELETE CASCADE':
SQLSTATE[HY000]: General error: 1215 Cannot add foreign key constraint
In PDOConnection.php line 106:
SQLSTATE[HY000]: General error: 1215 Cannot add foreign key constraint
In PDOConnection.php line 104:
SQLSTATE[HY000]: General error: 1215 Cannot add foreign key constraint
見た感じ、マイグレーション20190509205043の途中でエラーになっているのですが、
これはどう対処するのがよいのでしょうか。
takuro hishikawa
Re: 8.5.2 → 8.5.3のアップデートに失敗する
データベース管理ツールは使えますでしょうか?
もし使える場合、SystemDatabaseMigrations テーブルに 20190309000000 という値が入ったレコードがあるかどうか確認してください。
ない場合→何らかの原因で TreeFileFolderNodes テーブルを作る処理が行われなかった可能性があります。解決方法に進んでください。
ある場合→何らかの原因で TreeFileFolderNodes テーブルを作ろうとしたが出来なかった、またはインポートなどの作業時のミスで消してしまった可能性があります。20190309000000 という値が入ったレコードを削除してから解決方法に進んでください。
解決方法
コマンドラインツールから、個別のマイグレーションを手動実行できます。
concrete/bin/concrete5 migrations:execute 20190309000000 --up
このコマンドを実行することで、下記のマイグレーションファイルの処理が再実行されます。
http://github.com/concrete5/concrete5/blob/develop/concrete/src/Updater/Migrations/Migrations/Version20190309000000.php