問題箇所¶
V2→V3コンバータで、日記公開範囲フラグに対する処理が行われていません。
修正方針¶
コンバータにて
- /data/upgrade/2/sql/member_config.sql にて、以下のSQLを追加
INSERT INTO member_config (id, member_id, name, value, name_value_hash, created_at, updated_at) (SELECT NULL, c_member_id, "diary_public_flag", 1, MD5(<?php echo $this->conn->expression->concat($this->conn->quote('diary_public_flag'), $this->conn->quote(','), 1) ?>), NOW(), NOW() FROM c_member WHERE public_flag_diary = "public");
INSERT INTO member_config (id, member_id, name, value, name_value_hash, created_at, updated_at) (SELECT NULL, c_member_id, "diary_public_flag", 2, MD5(<?php echo $this->conn->expression->concat($this->conn->quote('diary_public_flag'), $this->conn->quote(','), 2) ?>), NOW(), NOW() FROM c_member WHERE public_flag_diary = "friend");
INSERT INTO member_config (id, member_id, name, value, name_value_hash, created_at, updated_at) (SELECT NULL, c_member_id, "diary_public_flag", 3, MD5(<?php echo $this->conn->expression->concat($this->conn->quote('diary_public_flag'), $this->conn->quote(','), 3) ?>), NOW(), NOW() FROM c_member WHERE public_flag_diary = "private");
すでに運営中のコンバート済みSNSについては、まだmember_configにdiary_public_flag設定値がないメンバーに対してのみ、c_memberからpublic_flag_diaryのフラグを取り出して設定するバッチを用意。
以下フラグ値メモ
OpenPNE2 : c_member.public_flag_diary
- 全員に公開 => "public"
- マイフレンドまで公開 => "friend"
- 公開しない => "private"
OpenPNE3 : member_config/diary_public_flag
- Web全体に公開 => 4
- 全員に公開 => 1
- マイフレンドまで公開 => 2
- 公開しない => 3