まだまだ苦戦中のOpenPNE 3.8へのダウングレード。
何 俺は金にならないことを必死にやってるんだろう・・・とふと思ったり(´・ω・`)
新規インストール時にDBを消さない&テーブル名のプレフィックスに文字列指定するようにして
実行した。
今データベースの中は
- "38_"+テーブル名 ※新規インストール時に作成されたテーブル達。プレフィックスは"38_"
- テーブル名 ※元々(3.10)のテーブル達
の2つが共存している。
で、2.を1.にマージしようとしたら不整合発生しまくりでテンションだだ下がり。
結局一通り頑張ってわかったのは75テーブル中20テーブルも不整合が発生していることがわかった。
25%以上だぜ?(プラグインのテーブルもあるので比率はもっと高い)
ありえないw
削除系の処理が激甘で残念なロジックになっているんだろうなぁ・・・。
2.X系から育ってきたデータなので、今は直っているのかもしれないけど。
ちなみに不整合が発生したテーブルは以下の通り。
- community_event
- community_event_comment
- community_event_comment_image
- community_event_image
- community_event_member
- community_topic
- community_topic_comment
- community_topic_comment_image
- community_topic_image
- deleted_message
- diary
- diary_comment
- diary_comment_image
- diary_image
- intro_friend
- member_profile
- message
- message_file
- message_send_list
- profile_option
前回書いたけど、移行の時にデータ欠損したテーブルが profile と profile_translation。
移行だから2系のバグとは言わせないぞw
こんなのがあると他のデータは大丈夫か というのが心配になる。
親テーブルにレコードがないデータは(多分)死にレコードなのでバッサリ切り捨てた。
すぐ忘れて「MySQLの外部結合のSQLってどういうんだっけ?」といつも調べていたんだけど
流石に今回の件で覚えたw
Oracleのwhere a.value = b.value(+)
という書き方の記憶が邪魔をして・・・。
でも今となってはコレも「どっちがどっちだっけ?」状態なので大差ない。
なんやかんやでデータの移行が完了して、動確したら画像が表示されない。
またかよ。
何度この事態に陥ったことか・・・_(´ཀ`」 ∠)_