売上集計の不具合

id:yuhei_kagaya さんの2008-10-19を参考にさせていただきました。(spacial thanks!!)

問題点をまとめると、

バッチモードにしないと処理がタイムアウトになってしまう

といってバッチファイルが用意されているわけではないので、上記記事を参考にバッチファイルを作成してクーロンに設定します。

MySQLに trunc関数が無い

MySQLにtrunc関数が無いため、EC-CUBEでは data/class/db/dbfactory/SC_DB_DBFactory_MYSQL.php
sfChangeTrunc() でtrunc -> TRUNCATEに変換を行なおうとしているが、これがうまく行ってない。(truncateは引数が2つ)
そこで、この関数は無効(変換しないようにする)にして、MySQLに trunc関数を作ってしまいます。

mysql> CREATE FUNCTION `trunc`(dbl double) RETURNS int(11) DETERMINISTIC return truncate(dbl,0);

これでめでたしめでたし、売上集計が使えるようになりました。
この機能はわかりやすいグラフが表示されていい感じです。