TODO #18295

MySQLのSQL_MODE=STRICT_TRANS_TABLES時にコンテンツ管理でブログが追加できずエラーになる

Added by 坂口 昌己 almost 5 years ago. Updated almost 5 years ago.

Status:終了Start date:
Priority:通常Due date:
Assignee:坂口 昌己% Done:

100%

Category:ブログ
Target version:4.0.7

Description

MySQL5.6から、SQL_MODEのSTRICT_TRANS_TABLESがデフォルト化していて
SQLのチェックが厳密になったことが影響しているようです。

具体的には、Blogプラグインの幾つかのスキーマ(status など)が interger(2)で
定義していることが原因で、プログラム内でtrue / falseで判断している箇所のfalseが
0 ではなく ''(空文字)となってしまい、DB追加・更新時に厳密なチェックでは
integerに''は入らないのでエラーになってしまっている。

解決策は boolean(MySQLの場合tinyint(1)) にすることで、問題は解消する。

lib/Baser/Plugin/Blog/Config/Schema/blog_categories.php

        'status' => array('type' => 'integer', 'null' => true, 'default' => null, 'length' => 2),

      ↓
        'status' => array('type' => 'boolean', 'null' => true, 'default' => null),

lib/Baser/Plugin/Blog/Config/Schema/blog_comments.php

        'status' => array('type' => 'integer', 'null' => true, 'default' => null, 'length' => 2),

      ↓
        'status' => array('type' => 'boolean', 'null' => true, 'default' => null),

lib/Baser/Plugin/Blog/Config/Schema/blog_contents.php

        'comment_use' => array('type' => 'integer', 'null' => true, 'default' => null, 'length' => 2),
        'comment_approve' => array('type' => 'integer', 'null' => true, 'default' => null, 'length' => 2),

      ↓
        'comment_use' => array('type' => 'boolean', 'null' => true, 'default' => null),
        'comment_approve' => array('type' => 'boolean', 'null' => true, 'default' => null),

baserCMS4.1.0-devにて確認しました。
同様の定義が他のプラグインやコアにもあったらあわせて改修する必要がありそうです。

※ 過去のチケット http://project.e-catchup.jp/issues/15072 と同様の原因と思われます。

1.png (173 KB) 坂口 昌己, 08/30/2017 12:31 PM

3.png (368 KB) 坂口 昌己, 08/30/2017 12:31 PM

2.png (1.54 MB) 坂口 昌己, 08/30/2017 12:31 PM

2192
2193
2194

Associated revisions

Revision 81f53f96
Added by K.A.Burk almost 5 years ago

fix #18295 MySQLのSQL_MODE=STRICT_TRANS_TABLES時にコンテンツ管理でブログが追加できずエラーになる問題を改善 (#726)

History

#1 Updated by 坂口 昌己 almost 5 years ago

  • Assignee set to 坂口 昌己

#2 Updated by 坂口 昌己 almost 5 years ago

  • Category set to ブログ

#3 Updated by 江頭 竜二 almost 5 years ago

  • Target version set to 4.0.7

報告ありがとうございます。
バグフィックスは4.0.7 にマージし、その後、4.1.0 にマージする方向となります。
よろしくお願いします。

#4 Updated by Anonymous almost 5 years ago

  • Status changed from 担当 to 解決
  • % Done changed from 0 to 100

更新履歴 basercms|commit:81f53f96795ac3bc0a9449865ccbe8a368db87e5 で適用されました。

#5 Updated by 江頭 竜二 almost 5 years ago

  • Status changed from 解決 to 終了

Also available in: Atom PDF