Bug(バグ) #4157
OpenPNE 3 - Task(タスク) #4033: MySQLのStrict Modeを有効にした場合に生じる問題を調査
MySQLのSTRICT_TRANS_TABLESが有効な状態でメッセージの削除を行うとエラー
Start date:
2017-02-17
Due date:
% Done:
100%
3.6 で発生するか:
Unknown (未調査)
[QA]バグ通知済:
No
3.8 で発生するか:
Unknown (未調査)
Description
Overview (概要)¶
MySQL 5.7 の Strict Mode が有効な状態での動作確認 (#4033) を行った際に発生した。
送信済みメッセージの削除 (「ゴミ箱」への移動) を行うと下記のエラーが発生する:
SQLSTATE[HY000]: General error: 1364 Field 'message_send_list_id' doesn't have a default value
受信メッセージの削除 (「ゴミ箱」への移動) を行うと下記のエラーが発生する:
SQLSTATE[HY000]: General error: 1364 Field 'message_id' doesn't have a default value
Causes (原因)¶
送信済みメッセージの削除¶
INSERT INTO deleted_message (is_deleted, message_id, member_id, created_at, updated_at) VALUES ('0', '1', '1', '2017-02-16 21:12:14', '2017-02-16 21:12:14')
上記のクエリで、NOT NULL 制約のある message_send_list_id に値がセットされていないことが原因。
受信メッセージの削除¶
INSERT INTO deleted_message (is_deleted, message_send_list_id, member_id, created_at, updated_at) VALUES ('0', '1', '2', '2017-02-16 21:18:43', '2017-02-16 21:18:43')
上記のクエリで、NOT NULL 制約のある message_id に値がセットされていないことが原因。
Way to fix (修正内容)¶
修正内容を記入
History
#1 Updated by Youichi Kimura over 7 years ago
- Subject changed from MySQLのSTRICT_TRANS_TABLEが有効な状態でメッセージの削除を行うと to MySQLのSTRICT_TRANS_TABLESが有効な状態でメッセージの削除を行うとエラー
- Description updated (diff)
- Parent task set to #4033
#2 Updated by Shinichi Urabe over 7 years ago
- Assignee set to Shinichi Urabe
- Target version set to 2.0.0.3 alpha 3
#3 Updated by Shinichi Urabe over 7 years ago
- Status changed from New(新規) to Pending Review(レビュー待ち)
- % Done changed from 0 to 50
#4162 の修正である
https://github.com/tejimaya/opMessagePlugin/pull/17 を取り込むことで改善できる
#4 Updated by Shinichi Urabe over 7 years ago
- Status changed from Pending Review(レビュー待ち) to Fixed(完了)
- % Done changed from 50 to 100
merged