とは言ったもののキモチワルイw
アレだ。最初のフルバックアップの時のデータから何回かバックアップを取っているので
順次追っていけば良いんだよ。
と言葉で言うのは簡単でも、相手が4万レコード・5GBに近い重量級だと話が違ってくるw
ちょっと複雑な取得をしようとすると、めっちゃ待たされる。
テーブル構造がかなりイケてないしなぁ・・・。
ちなみに2.14の場合、
(例:日記)
c_diary
テーブルが日記本体
c_diary
のカラムにimage_filename_1~3
があって、その中に画像ファイル名が格納される
c_image
テーブルが画像のバイナリデータ格納用
c_diary
と紐付けるのはfilename
(=画像ファイル名)※ここが非常に気持ち悪い
c_image_size
にファイルサイズとかカテゴリを持っていて、それと紐付けるのもfilename
ああ、気持ち悪い。
これが3系になると
diary
テーブルが日記本体
画像を持っている日記はdiary_image
テーブルにレコードを持つ。紐付けはdiary_id
ファイルの付加情報はfile
テーブルに持っていて、diary_image
との紐付けはfile_id
(file
テーブル側はid
)
ファイルのバイナリデータはfile_bin
テーブルに持っていて、file
との紐付けはfile_id
この構造だと気持ち悪くない。こうあるべきだと思う。
2系→3系の移行時に、レコードサイズがデカいからテーブルのコピーではなく
c_image
は移行後に残らないのでc_image
→file_bin
に変更していると思われる。
つーか、コピーして使わなくなったテーブルをそのまま残すってのは迷惑なんだがw
話が大きく逸れた。
ひとまず一番最初に取ったバックアップ(2017年10月)をDB検証VMに突っ込んでみよう。
気になるのはc_image
とc_image_size
のレコード数の差。
付加情報があるのにバイナリがない(その逆も)というのはオカシイ。数はイコールになるはず。
select count(*) from c_image;
→ 41649
select count(*) from c_image_size;
→ 41383
最初から合ってないよw(ノ∀`)