sql >> Databáze >  >> RDS >> Mysql

co je špatného na tomto dotazu Magento?

Po aktualizaci na 1.9.2.2 pro web přítele a narazil jsem na tento problém, vložil jsem do souboru následující opravu,

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

Nemohu říci, jaké onflow efekty tam mohou být a budoucí aktualizace si budou muset dávat pozor, aby vám tato funkce neunikla, pokud je tento soubor samozřejmě přepsán, ale pro začátek přidejte řádek:

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

aby příkaz select vypadal následovně:

$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. Jak nakonfigurovat AppArmor pro PostgreSQL a TimescaleDB

  2. Za jakých okolností byste chtěli, aby Rails bylo nastaveno tak, aby se NEpřipojovalo k MYSQL

  3. kdy se odpojit a kdy ukončit pg klienta nebo fond

  4. Zpracování transakcí Postgresql pomocí Java