ここの情報は古いです。ご理解頂いた上でお取り扱いください。

Opened 12 years ago

Closed 12 years ago

Last modified 12 years ago

#1053 closed enhancement (fixed)

すべてのDB項目(テキスト)に、UPDATEしたかどうかが判るカラムを追加する

Reported by: kunitada Owned by: ebihara
Priority: major Milestone: OpenPNE2.10alpha1
Component: その他 Version: 2.10.x
Keywords: Cc:

Description (last modified by ogawa)

■機能概要

すべてのDB項目(テキスト)に、UPDATEしたかどうかが判るカラムを追加する。

■仕様

■関連情報

作業手順

  1. テーブルとカラムをリストアップ
  2. どうUPDATE日時を追加するか設計し、UPDATE日時を追加するカラムを追加

議論したトピック

http://sns.openpne.jp/?m=pc&a=page_c_topic_detail&target_c_commu_topic_id=2260

Change History (17)

comment:1 Changed 12 years ago by kunitada

Description: modified (diff)

comment:2 Changed 12 years ago by ebihara

Owner: changed from nobody to ebihara
Status: newassigned

やります。

comment:3 Changed 12 years ago by ebihara

まずは現状の r_datetime 周りのカラムの調査からやります。

タスクとしては、

  • datetime 型カラムのリストアップ
  • date 型カラムのリストアップ
  • リストアップしたカラムがどういう用途で使われているかの調査(作成日時として or 更新日時として)

comment:4 Changed 12 years ago by ebihara

r3715で、すべてのtext型,varchar型カラムについて、「ユーザによって更新されるかどうか」「作成日時記録用カラムがあるかどうか」「更新日時記録用があるかどうか」を一覧にした表を作成しました。

この表を基に、以下の方針で実装を行っていこうと思います。

  1. 「ユーザが投稿可能かどうか」が○
    1. 「更新されるかどうか」が○
    2. 作成日時記録用カラムがない
      • → r_datetime 追加
  1. 更新日時記録用カラムがない
    • →?_datetime 追加(更新日時記録用カラム)
  1. 「更新されるかどうか」が×
    1. 作成日時記録用カラムがない
      • →r_datetime 追加

更新日時記録用カラムの名称はどうしましょうか。

comment:5 Changed 12 years ago by ebihara

上のリストが間違っていたので訂正しました。

  1. 「ユーザが投稿可能かどうか」が○
    1. 「更新されるかどうか」が○
      1. 作成日時記録用カラムがない
        • r_datetime 追加
      2. 更新日時記録用カラムがない
        • ?_datetime 追加
    2. 「更新されるかどうか」が×
      1. 作成日時記録用カラムがない
        • r_datetime 追加

comment:6 Changed 12 years ago by ebihara

r3716で、「ユーザによって更新されるかどうか」等を一覧にした表の記述誤りを訂正しました。

具体的には、c_schedule.title, c_schedule_body の「更新されるかどうか」が×になっていたのを○に直しました。

comment:7 Changed 12 years ago by ebihara

作成日時記録用カラム追加対象(今回やらない?)

  • c_commu_topic
  • c_friend
  • c_member
  • c_member_pre_profile
  • c_member_profile
  • c_schedule
  • c_username

更新日時記録用カラム追加対象

  • c_commu
  • c_diary
  • c_member
  • c_review_comment
  • c_schedule

更新日時記録用カラムの名称案

  • u_datetime

課題

  • date 型カラムをどうするか
  • r_datetime という名称でない作成日時記録用カラムをどうするか
  • 既存の更新日時記録用カラム名をどうするか

comment:8 Changed 12 years ago by ebihara

  1. テーブルに u_datetime 追加
    • u_datetime datetime NOT NULL default '0000-00-00 00:00:00',
  2. insert系で u_datetime の値更新
    • ※この時点の u_datetime は r_datetimeと同一
    • 書き換えが必要な関数
      • db_commu_insert_c_commu
      • db_diary_insert_c_diary
      • db_member_insert_c_member
      • db_member_create_member
      • do_c_review_add_insert_c_review_comment
      • db_schedule_add_insert_c_schedule
  3. update系で u_datetime の値更新
    • ※r_datetimeはもちろん操作しない
    • ※u_datetimeはdb_now()
    • 書き換えが必要な関数
      • db_commu_update_c_commu
      • db_diary_update_c_diary
      • db_member_config_prof_new
      • db_member_h_config_3
      • do_h_review_edit_update_c_review_comment
      • db_schedule_edit_update_c_schedule

comment:9 Changed 12 years ago by ebihara

↑は更新日時記録用カラム追加の具体的なコーディング作業の手順です。

comment:10 Changed 12 years ago by ebihara

r3717

r3716の表中で、c_review_commentの記述誤りがあったので修正しました。

  • 作成日時記録用カラムが「r_datetime」となっていましたが、正しくは「(なし)」です
  • 更新日時記録用カラムが「(なし)」となっていましたが、正しくは「r_datetime」です

これにより、「更新日時記録用カラム追加対象」からc_review_commentを外します。

comment:11 Changed 12 years ago by ebihara

Owner: changed from ebihara to ogawa
Status: assignednew

r3718で、更新日時記録用カラムの追加、ソースコード面での対応を行いました。ご確認ください。

comment:12 Changed 12 years ago by tejimaa

Component: core【OpenPNEコア部分】pne-framework

comment:13 Changed 12 years ago by ogawa

Owner: changed from ogawa to ebihara

comment:14 Changed 12 years ago by ogawa

Resolution: fixed
Status: newclosed
  • r_datetime / u_datetime の用途の統一
  • r_date の廃止

など改善したい点はあるが、ひとまずfix。

comment:15 Changed 12 years ago by ebihara

Description: modified (diff)

comment:16 Changed 12 years ago by ebihara

Description: modified (diff)

comment:17 Changed 12 years ago by ogawa

Description: modified (diff)
Note: See TracTickets for help on using tickets.