PowerCMS X ブログ

2022-08-26

[FAQ] モデルに追加したカラムが投稿画面に表示はされるがデータが保存されない

トラブルの例

記事モデル(entry)に「add_column」という文字列(255)カラムを追加して、編集表示「テキスト」として保存、記事の作成画面を開き、カラムに何らかの文字列を入力して「保存」します。他の既存のカラムには値が保存されているのに、「add_column」には値が保存されていない、という事象です。

確認すべきポイント

error.log に以下のようなメッセージが出ていることを確認します。

PADOBaseModelException: unknown column(entry_add_column) in model entry(1024) occured( line xxx of class.pado.php )

トラブルの原因

cache_driverが「File」になっており、キャッシュディレクトリ配下のファイルに CMS(Webサーバー)から読み込みはできるが、書き込み・削除権限がないことが原因です。定期実行タスク用のスクリプト「tools/worker.php」を root権限などで実行した時に、この事象が発生することがあります。

対応方法

キャッシュディレクトリ配下のファイルを削除して、キャッシュディレクトリをCMS(Webサーバー)から読み書き可能なパーミッションに変更してください。

当該ファイルのパスは以下となりますが、この事象が発生している場合、他のキャッシュファイルの権限も同様になっている可能性がありますので、キャッシュディレクトリ配下ずべてを削除してください。

/path/to/cache/app_cache/schemes/entry.php

尚、CacheManagerが有効で「キャッシュ管理」機能が使える場合でも、この場合はキャッシュ管理の画面からキャッシュのリセットはできません。

sudo rm -Rf /path/to/cache

カテゴリー:技術情報 | トラブルシューティング

投稿者:Junnama Noda

ブログ内検索

アーカイブ