Skip to main content

ファイルシステムのパス変更と files テーブルのデータ修正

imagefield とファイルシステムパス変更について。

Drupal のファイルシステムパスを後から変更すると、imagefield で既存ノードに添付していた各ノードの画像が表示されなくなる。

原因は、files データベーステーブルのレコードが、変更前のファイルシステムパスのままになっているため。(files テーブルはアップロードしたファイルの情報を管理するためのテーブル)

問題を解決するには、このテーブルに保管されている古いファイルシステムパスを SQLで新しいパスに置き換える。

update files set filepath = replace(filepath, '<旧システムファイルパス>', '<新システムファイルパス>');

参考にさせていただいたページ:
http://drupal.org/node/98199
http://drupal.org/node/314022
ほか多数・・・

ファイルシステムパスは、サイトのURLに依存しない場所にしておき、必要に応じてシンボリックリンクしておくべきであった。