Project

General

Profile

Enhancement(機能追加・改善) #2077

新しい紹介文があることに気づけない

Added by Yuya Watanabe about 9 years ago. Updated over 8 years ago.

Status:
Pending Review(レビュー待ち)
Priority:
Normal(通常)
Assignee:
Start date:
2011-05-11
Due date:
% Done:

50%


Description

概要

新しく紹介文が書かれた場合に気づけない.

改善案

紹介文が新しく書かれたときにユーザのホーム画面に新着の紹介文の通知を行う機能を追加する.

対象バージョン

opIntroFriendPlugin 1.0.1

History

#1 Updated by Yuya Watanabe about 9 years ago

  • Target version set to v0.9.2.1

#3 Updated by Yuya Watanabe about 9 years ago

確認すべき項目一覧
・新規に紹介文A作成⇒未読1件(新着表示)
・紹介文を読む⇒未読なし(表示消える)
・紹介文Aを編集⇒未読1件(新着表示)
・紹介文を読む前に紹介文B作成⇒未読2件(新着表示)
・紹介文を読む前に紹介文A編集⇒未読2件のまま(新着表示)
・紹介文を読む前に紹介文B削除⇒未読1件(新着表示)
・紹介文を読む⇒未読なし(表示消える)
・紹介文A削除⇒未読なし(表示なし)
・あらためて紹介文A作成⇒未読1件(新着表示)
・紹介文を読む⇒未読なし(表示消える)
・あらためて紹介文B作成⇒未読1件(新着表示)
・紹介文を読む前に紹介文A編集⇒未読2件(新着表示)
・紹介文を読む⇒未読なし(表示消える)
・紹介文を読む前に紹介文C作成⇒未読1件(新着表示)
・紹介文を読む前に紹介文A削除⇒未読1件のまま(新着表示)

#4 Updated by Masato Nagasawa about 9 years ago

  • Target version changed from v0.9.2.1 to 184

#5 Updated by Masato Nagasawa about 9 years ago

  • Target version changed from 184 to v0.9.2.1

#6 Updated by Masato Nagasawa about 9 years ago

  • Status changed from New(新規) to Rejected(差し戻し)
  • % Done changed from 0 to 50

新規にテーブルを作成していますが、すでにインストール済みの場合のマイグレーションでテーブルが作成されません。
テーブルを作成するためのマイグレーションファイルの追加をお願いします。

#7 Updated by Masato Nagasawa about 9 years ago

  • Target version changed from v0.9.2.1 to v1.0.0

#8 Updated by Yuya Watanabe almost 9 years ago

  • Target version deleted (v1.0.0)

#9 Updated by Yuya Watanabe over 8 years ago

  • Assignee set to Yuya Watanabe

#10 Updated by Yuya Watanabe over 8 years ago

  • Status changed from Rejected(差し戻し) to Accepted(着手)

新規インストール時のDB構造が以下のようになっており,この構造にするために以下のマイグレートスクリプトを書き,マイグレート実行後に同じ構造になることを確認しました.

DB構造

mysql> show create table intro_friend_unread;
+---------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table               | Create Table                                                                                                                                                                                                                                                                                                                                                                                                                          |
+---------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| intro_friend_unread | CREATE TABLE `intro_friend_unread` (
  `member_id` int(11) NOT NULL default '0',
  `read_at` datetime NOT NULL,
  `count` int(10) unsigned NOT NULL default '0',
  `created_at` datetime NOT NULL,
  `updated_at` datetime NOT NULL,
  PRIMARY KEY  (`member_id`),
  CONSTRAINT `intro_friend_unread_member_id_member_id` FOREIGN KEY (`member_id`) REFERENCES `member` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
+---------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

マイグレートスクリプト

class Revision6_addUnreadTable extends opMigration
{
  public function up()
  {
    $export = Doctrine_Manager::connection()->export;

    $export->createTable('intro_friend_unread',
      array(
        'member_id' => array('type' => 'integer', 'length' => 4, 'primary' => true, 'notnull' => true, 'default' => 0),
        'read_at' => array('type' => 'timestamp', 'notnull' => true),
        'count' => array('type' => 'integer', 'length' => 4, 'unsigned' => true, 'notnull' => true, 'default' => 0),
        'created_at' => array('type' => 'timestamp', 'notnull' => true),
        'updated_at' => array('type' => 'timestamp', 'notnull' => true),
      )
    );

    $export->createForeignKey('intro_friend_unread', array(
      'name' => 'intro_friend_unread_member_id_member_id',
      'local' => 'member_id',
      'foreign' => 'id',
      'foreignTable' => 'member',
      'onDelete' => 'CASCADE',
    ));
  }
}

#11 Updated by Yuya Watanabe over 8 years ago

  • Status changed from Accepted(着手) to Pending Review(レビュー待ち)

#12 Updated by Yuya Watanabe over 8 years ago

  • Description updated (diff)

Also available in: Atom PDF