Wiki.jsを使用していると、記事の「パス」を変更した際に、ファイルとフォルダが同じ名前になってしまい、意図したフォルダ構造にならないことがありました。
本記事では、その原因と解決策について詳しく解説します。
発生した現象
例えば、以下のようなSQLを実行し、特定のページのパスを変更したとします。
UPDATE pages SET path = 'path/to/article' WHERE title = 'article';
この操作後にページを確認すると、フォルダ「path/to」内に「article」という記事があるはずです。
しかし、フォルダ一覧を見ても新しいフォルダが正しく表示されないという問題が発生することがあります。
原因
Wiki.jsでは「パス」という概念があり、各ページに対して設定される「path」は、実際のフォルダ構造と必ずしも一致しません。
システム内部では、ページデータがデータベースに保存されるため、ファイルシステム上での変更が即時反映されないことが原因と考えられます。
また、キャッシュが影響している可能性もあります。
Wiki.jsは高速化のためにデータをキャッシュする仕組みを持っているため、パスを変更してもすぐには画面上に反映されないことがあります。
解決策
この問題を解決するために、以下の手順を試してください。
キャッシュの削除
Wiki.jsのキャッシュを削除することで、変更を適切に反映させることができます。
GUIからのキャッシュ削除方法
- Wiki.jsの管理画面にログインする。
- 設定画面(「管理」メニュー)を開く。
- 「キャッシュ管理」セクションを探し、キャッシュをクリアする。
- ページをリロードして、フォルダ構造が正しく更新されたか確認する。
コマンドラインからキャッシュを削除する方法
ターミナルまたはSSH接続を使用し、Wiki.jsの動作している環境にアクセスした上で、以下のコマンドを実行します。
docker exec -it <Wiki.jsのコンテナ名> bash
次に、キャッシュをクリアするために以下のコマンドを試します。
rm -rf /wiki/cache
その後、Wiki.jsのプロセスを再起動します。
pm restart
または、Dockerを使用している場合は、以下のコマンドでコンテナを再起動できます。
docker restart <Wiki.jsのコンテナ名>
データベースの整合性を確認
キャッシュを削除しても解決しない場合、データベース内のパス情報が正しく更新されているか確認します。
SELECT id, path, title FROM pages WHERE title = 'article';
期待したパスが正しく登録されているかを確認し、問題がある場合は適切に更新します。
UPDATE pages SET path = 'path/to/article' WHERE id = <該当するID>;
Dockerコンテナの再起動
Wiki.jsがDocker環境で動作している場合、コンテナを再起動することで変更が反映されることがあります。
docker restart <Wiki.jsのコンテナ名>
または、すべてのコンテナを再起動する場合は、以下のコマンドを実行します。
docker-compose down && docker-compose up -d
この操作を行うと、Wiki.jsが新しい設定を適用し、フォルダの変更が反映される可能性があります。
まとめ
Wiki.jsでページのパスを変更した際に、フォルダが正しく更新されない問題は、キャッシュやデータベースの影響によることが多いです。
今回紹介した手順を実施することで、多くの場合問題を解決できます。
再確認するポイント
- キャッシュを削除したか
- データベースのパス情報が正しく更新されているか
- サーバーやDockerコンテナを再起動したか
上記の方法を試しても解決しない場合は、Wiki.jsのバージョンや設定を確認し、必要に応じて公式のドキュメントやフォーラムで情報を集めるとよいでしょう。
トラブル解決に役立てていただければ幸いです。
- Original:https://minory.org/wiki-js-filepath-error.html
- Source:minory
- Author:管理者
Amazonベストセラー
Now loading...