プロジェクト

全般

プロフィール

Bug(バグ) #1483

完了

マイグレート後のDB構造が新規構築時と一致しない

Masato Nagasawa さんが14年以上前に追加. 13年以上前に更新.

ステータス:
Fixed(完了)
優先度:
High(高め)
担当者:
対象バージョン:
開始日:
2010-08-05
期日:
進捗率:

100%

予定工数:
3.6 で発生するか:
Yes
[QA]バグ通知済:
はい
3.8 で発生するか:
opCommunityTopicPlugin 絞込条件:

説明

Overview (現象)

post, file に関してのインデックスとカスケーディングデリートの情報がマイグレート時に付加されていない。

新規インストール時

mysql> SHOW CREATE TABLE community_topic_comment_image\G
*************************** 1. row ***************************
       Table: community_topic_comment_image
Create Table: CREATE TABLE `community_topic_comment_image` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `post_id` int(11) NOT NULL,
  `file_id` int(11) DEFAULT NULL,
  `number` int(11) NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `id_number_idx` (`id`,`number`),
  KEY `post_id_idx` (`post_id`),
  KEY `file_id_idx` (`file_id`),
  CONSTRAINT `community_topic_comment_image_file_id_file_id` FOREIGN KEY (`file_id`) REFERENCES `file` (`id`) ON DELETE CASCADE,
  CONSTRAINT `community_topic_comment_image_post_id_community_topic_comment_id` FOREIGN KEY (`post_id`) REFERENCES `community_topic_comment` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8

マイグレート時

mysql> SHOW CREATE TABLE community_topic_comment_image\G
*************************** 1. row ***************************
       Table: community_topic_comment_image
Create Table: CREATE TABLE `community_topic_comment_image` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `post_id` int(11) NOT NULL,
  `file_id` int(11) DEFAULT NULL,
  `number` int(11) NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `id_number` (`id`,`number`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1

Causes (原因)

マイグレーション側で新規インストール時とテーブル構造を合わせていないため。

Way to fix (修正内容)

  • post_id のインデックスを追加
  • file_id のインデックスを追加
  • post_id の外部キー制約を追加
  • file_id の外部キー制約を追加

文字コードが一致していないが、
文字列が入るカラムが存在しないため対応は行わない。


関連するチケット 1 (0件未完了1件完了)

関連している opCommunityTopicPlugin - Bug(バグ) #2449: 1.0.2 で追加されたマイグレートスクリプト(リビジョン番号 6)で外部キー制約違反により、マイグレートに失敗することがあるFixed(完了)Yuya Watanabe2011-09-30

操作

他の形式にエクスポート: Atom PDF