Mysql
 sql >> база данни >  >> RDS >> Mysql

какво не е наред с тази Magento заявка?

След като току-що надстроих до 1.9.2.2 за уебсайта на приятел и се натъкнах на този проблем, поставих следната корекция във файла,

[magento/app/code/core/Mage/CatalogRule/Model/Action/Index/Refresh.php]

Не мога да кажа какви ефекти на потока може да има и бъдещите актуализации ще трябва да внимават да не пропуснат тази функция, ако този файл бъде презаписан, разбира се, но за да започнете, добавете реда:

'rules_hash'            => new Zend_Db_Expr('NULL'),

за да направите командата select да изглежда по следния начин:

$select = $this->_connection->select()
        ->from($indexSelect, array())
        ->joinInner(
            array(
                'dates' => $this->_connection->select()->union(
                    array(
                        new Zend_Db_Expr(
                            'SELECT ' . $this->_connection->getDateAddSql(
                                $this->_connection->fromUnixtime($time),
                                -1,
                                Varien_Db_Adapter_Interface::INTERVAL_DAY
                            ) . ' AS rule_date'
                        ),
                        new Zend_Db_Expr('SELECT ' . $this->_connection->fromUnixtime($time) . ' AS rule_date'),
                        new Zend_Db_Expr(
                            'SELECT ' . $this->_connection->getDateAddSql(
                                $this->_connection->fromUnixtime($time),
                                1,
                                Varien_Db_Adapter_Interface::INTERVAL_DAY
                            ) . ' AS rule_date'
                        ),
                    )
                )
            ),
            '1=1',
            array()
        )
        ->columns(
            array(
                'rule_product_price_id' => new Zend_Db_Expr('NULL'),
                'rule_date'             => 'dates.rule_date',
                'customer_group_id'     => 'customer_group_id',
                'product_id'            => 'product_id',
                'rule_price'            => 'MIN(rule_price)',
                'website_id'            => new Zend_Db_Expr($website->getId()),
                'latest_start_date'     => 'latest_start_date',
                'earliest_end_date'     => 'earliest_end_date',
                /**
                Added because rules_hash was created by some module and not handled properly,
                see http://stackoverflow.com/questions/19480415/whats-wrong-with-this-magento-query
                */
                'rules_hash'            => new Zend_Db_Expr('NULL'),
            )
        )
        ->where(new Zend_Db_Expr($this->_connection->getUnixTimestamp('dates.rule_date') . " >= from_time"))
        ->where(
            $this->_connection->getCheckSql(
                new Zend_Db_Expr('to_time = 0'),
                new Zend_Db_Expr(1),
                new Zend_Db_Expr($this->_connection->getUnixTimestamp('dates.rule_date') . " <= to_time")
            )
        )
        ->group(array('customer_group_id', 'product_id', 'dates.rule_date'));

    return $select;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Кога да използваме CSV хранилище за MySQL?

  2. ГРУПИРАНЕ ПО и ПОРЪЧАЙТЕ ПО

  3. Създайте таблица по време на изпълнение в Ruby on Rails

  4. php замества ключовете за идентификатор на масив

  5. Ограничаване на производителността на Mysql