Mysql
 sql >> Baza danych >  >> RDS >> Mysql

co jest nie tak z tym zapytaniem Magento?

Po zaktualizowaniu witryny znajomego do wersji 1.9.2.2 i napotkaniu tego problemu, umieściłem w pliku następującą łatkę,

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

Nie mogę powiedzieć, jakie mogą być efekty onflow, a przyszłe aktualizacje będą musiały uważać, aby nie przegapić tej funkcji, jeśli ten plik zostanie oczywiście nadpisany, ale aby rozpocząć, dodaj linię:

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

aby instrukcja select wyglądała następująco:

$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. python:jak otrzymywać powiadomienia o zmianach w bazie mysql?

  2. Nie można połączyć się z mysql z Sequel gem

  3. Jak znaleźć pozycję na liście w określonej pozycji w MySQL?

  4. Czy narzędzie mysql CLI umożliwia wyświetlanie danych binarnych w sposób przyjazny dla konsoli?

  5. czas trwania mysql i czas pobierania