EC-CUBE 4のeccube:fixtures:generateがMySQLだと失敗する

水曜日 , 13, 3月 2019 Leave a comment

 タイトルの通り、DBがMySQLの状態でダミーデータを作成するeccube:fixtures:generateコマンドを実行すると文字数オーバーだったり、数値がマイナスだったりで失敗する。

 

SQLSTATE[22001]: String data, right truncated: 1406 Data too long for column ‘file_name’

 

 該当カラムがvarchara(255)のパターン。

 dtb_productのnameと、dtb_product_imageのfile_nameで発生する。カラムの文字数を増やせば処理は進む。

 

SQLSTATE[22003]: Numeric value out of range: 1264 Out of range value for column ‘payment_total’

 

 dtb_orderのtotalやpayment_totalにマイナスの値を指定しているパターン。正数のみを表すunsignedを取ってあげればよいけど、あくまで処理を最後まで進めるための処置。

 コマンドの方を修正した方が正しいとは思う。

 

 これで最後まで行くかなぁと思ったら、

 

Error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 2097160 bytes)

 

 ・・・PHPのメモリーサイズは多めにね。

 最後まで行かなかったけど諸々やり直す気力が出ないのと、ダミーデーターはそれなりの数入ったので調査終了して、メモを残す。

 

 


Please give us your valuable comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です