レンタルサーバ → YO$HI鯖への引っ越しはほぼ無事に終わった。
1回しくじったけどw
しくじったのは画像周り。
確かに帳尻を合わせてみると、件数が少ない。
6分の1ぐらいになっている時点で、怪しいと思え俺w
で、そのまま引っ越してバージョンを上げて開放したら、
とある期間の画像がゴッソリ抜けていてNO IMAGE表示になっていることに後から気づいた。
OpenPNE 2.14のテーブル&レコードの関係は簡略化して一例として表すと
c_diary(日記の記事データ)に filename を持っていて、それに紐付くのが c_image と c_image_size 。
キーは filename という非常にイケてない構造。
各記事に設定されているレコードに必ず c_image と c_image_size のレコードが1件ずつ紐付くはず。
過去に2回、DBの容量超過改善のために、c_image のレコードを消している。
c_image は画像のバイナリデータが格納されているので1レコードがデカい。
c_image を消して大丈夫なのか?という点は、実は抜け道がある。
画像付きの記事・コメントを投稿すると、c_image に格納されるのは当然として
OpenPNEのconfig.php
で設定した場所にキャッシュファイルとして画像を出力することができる。
記事を見るときに、キャッシュを先に見に行って
- あればキャッシュの画像を表示
- なければレコードのバイナリデータからキャッシュに画像を出力して表示
という動きになっている。(ように見える)
つまりキャッシュファイルさえあれば DBに画像がなくても表面的には問題ないのだw
ということを利用し、キャッシュファイルを無理矢理出力する という強硬手段で画像を出力させる。
(ファイルの総容量は軽く4GBを突破)
c_imageを消すだけなら大丈夫だったんだろう。(そのときに完璧に辻褄が合っていたかどうかは不明)
レコード数が多い c_image_size も消した記憶がある。これが良くなかった。
辻褄合わねー(ノ∀`)
そのおかげで c_image_size をベースにして、そこにある filename の画像だけを抽出したら
えらくレコード数とダンプのファイルサイズが小さかった。(1GBいってない)
そんな状態で新環境にブッ込んだら、そりゃ画像が表示されないところが多いだろう。
完全に合わすのは非常に難しい。
(退会でデータが変になっている部分もあったし)
全体数の1%未満だから
///)
/,.=゙''"/
/ i f ,.r='"-‐'つ____ こまけぇこたぁいいんだよ!!
/ / _,.-‐'~/⌒ ⌒\
/ ,i ,二ニ⊃( ●). (●)\
/ ノ il゙フ::::::⌒(__人__)⌒::::: \
,イ「ト、 ,!,!| |r┬-| |
/ iトヾヽ_/ィ"\ `ー'´ /
でも気持ちは悪い。