Craft CMS でエントリを削除すると Soft Delete として扱われる。
先日削除周りのことを色々やっているときに @BUN @tinybeans に色々教えてもらった。
2020-05-27
Craft CMS でエントリを削除すると Soft Delete として扱われる。
先日削除周りのことを色々やっているときに @BUN @tinybeans に色々教えてもらった。
削除すると Soft Delete になって Garbage Collection のタイミングで削除される。
Soft Deletes | Craft 3 Documentation
https://docs.craftcms.com/v3/e...
Garbage Collection が実行されるのはサイトを訪問したり、管理画面を操作してる時らしく、どの頻度(確率)で実行されるかは config/app.php
で設定ができる。
return [ 'components' => [ 'gc' => [ 'probability' => 0, // no chance 'probability' => 1, // 1 in 1,000,000 'probability' => 10, // 1 in 100,000 (default) 'probability' => 100, // 1 in 10,000 'probability' => 1000, // 1 in 1,000 'probability' => 10000, // 1 in 100 ], ], ];
Soft Delete になってから softDeleteDuration
で指定した間は Garbage Collection では削除されない。
Garbage Collection をコマンドとかで実行する時は
$ ./craft gc Delete all trashed items? (yes|no) [no]:no
こんな感じで実行される。
デフォルトの no を選ぶと softDeleteDuration
の間のものは削除されない。
Yes にすると全て削除される。
これは以下も同様で、 softDeleteDuration
の状況をみずに削除される。
./craft gc --delete-all-trashed=1 ./craft gc --interactive=0
デフォルトは 30 日で、 softDeleteDuration を 0 にすると削除されなくなる。