プロジェクト

全般

プロフィール

Bug(バグ) #4162

OpenPNE 3 - Task(タスク) #4033: MySQLのStrict Modeを有効にした場合に生じる問題を調査

MySQLのSTRICT_TRANS_TABLESが有効な状態でテスト用fixtureのロードに失敗する

Youichi Kimura約7年前に追加. ほぼ7年前に更新.

ステータス:
Fixed(完了)
優先度:
Normal(通常)
担当者:
対象バージョン:
開始日:
2017-04-04
期日:
進捗率:

100%

3.6 で発生するか:
Unknown (未調査)
[QA]バグ通知済:
いいえ
3.8 で発生するか:
Unknown (未調査)

説明

Overview (概要)

MySQL 5.7 の Strict Mode が有効な状態での動作確認 (#4033) を行った際に発生した。

fixture の読み込みを必要とするテストコードを実行すると下記のエラーが発生する:

$ php plugins/opMessagePlugin/test/unit/model/SendMessageDataTest.php 
PHP Fatal error:  Uncaught exception 'Doctrine_Connection_Mysql_Exception' with message 'SQLSTATE[HY000]: General error: 1364 Field 'message_id' doesn't have a default value' in /vagrant/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Connection.php:1082
Stack trace:
#0 /vagrant/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Connection/Statement.php(269): Doctrine_Connection->rethrowException(Object(PDOException), Object(Doctrine_Connection_Statement))
#1 /vagrant/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Connection.php(1042): Doctrine_Connection_Statement->execute(Array)
#2 /vagrant/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Connection.php(687): Doctrine_Connection->exec('INSERT INTO del...', Array)
#3 /vagrant/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Connection/UnitOfWork.php(647): Doctrine_Connection->insert(Object(DeletedMessageTable), Array)
#4 /vagrant/lib/ven in /vagrant/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Connection.php on line 1082

Causes (原因)

source:test/fixtures/010_message.yml@6eef6b49#L106:

DeletedMessage:
  dust_delete_mesage:
    id: 1
    Member: first_member
    message_send_list_id: 3
    is_deleted: 0

上記の fixture で、NOT NULL 制約のある deleted_message.message_id に値がセットされていないことが原因。


子チケット

Backport(バックポート) #4184: MySQLのSTRICT_TRANS_TABLESが有効な状態でテスト用fixtureのロードに失敗するNew(新規)Shinichi Urabe

Backport(バックポート) #4185: MySQLのSTRICT_TRANS_TABLESが有効な状態でテスト用fixtureのロードに失敗するNew(新規)Shinichi Urabe


関連するチケット

コピー先 opMessagePlugin - Backport(バックポート) #4184: MySQLのSTRICT_TRANS_TABLESが有効な状態でテスト用fixtureのロードに失敗する New(新規) 2017-04-04

関係しているリビジョン

リビジョン ad1c9168 (差分)
Shinichi Urabe がほぼ7年前に追加

(refs #4162) fixes allow null in deleted_message.message_id, deleted_message.send_message_list_id

リビジョン 71325847
ShinichiU がほぼ7年前に追加

Merge pull request #17 from ShinichiU/t-4162

(refs #4162) fixes allow null in deleted_message.message_id, deleted_…

履歴

#1 Shinichi Urabeほぼ7年前に更新

  • ステータスNew(新規) から Accepted(着手) に変更
  • 担当者Shinichi Urabe にセット
  • 対象バージョン2.0.0.3 alpha 3 にセット

#2 Shinichi Urabeほぼ7年前に更新

  • ステータスAccepted(着手) から Pending Review(レビュー待ち) に変更
  • 進捗率0 から 50 に変更

#3 Shinichi Urabeほぼ7年前に更新

#4 Shinichi Urabeほぼ7年前に更新

  • 説明 を更新 (diff)

#5 Shinichi Urabeほぼ7年前に更新

  • 説明 を更新 (diff)

#6 Shinichi Urabeほぼ7年前に更新

  • ステータスPending Review(レビュー待ち) から Fixed(完了) に変更
  • 進捗率50 から 100 に変更

merged

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