Secciones

martes, 16 de abril de 2013

Magento - SQLSTATE[42000]: Syntax error or access violation: 1067 Invalid default value for 'period'


En la instalacion desde 0 de Magento 1.6x
Puede aparecer el error: 
Error in file: "app\code\core\Mage\SalesRule\sql\salesrule_setup\upgrade-1.6.0.0-1.6.0.1.php" - SQLSTATE[42000]: Syntax error or access violation: 1067 Invalid default value for 'period'.
NOTA: para ver error de php modificar el index.php y descomentar la linea
ini_set('display_errors', 1);

Para solucionarlo:

1-modificar el archivo
install-1.6.0.0.php en app\code\core\Mage\SalesRule\sql\salesrule_setup. 
En la linea  333, cambiar
->addColumn('period', Varien_Db_Ddl_Table::TYPE_DATE, null, array(
'nullable' => false,
), 'Period')
por
->addColumn('period', Varien_Db_Ddl_Table::TYPE_DATE, null, array(
'nullable' => false,
'default' => '0000-00-00',
), 'Period')
En la linea 393, cambiar
->addColumn('period', Varien_Db_Ddl_Table::TYPE_DATE, null, array(
'nullable' => false,
), 'Period')
por
->addColumn('period', Varien_Db_Ddl_Table::TYPE_DATE, null, array(
'nullable' => false,
'default' => '0000-00-00',
), 'Period')

2-vaciar la base de datos (borrar todas la tablas...o borrar y crear base de datos)
3-vaciar cache
4-eliminar local.xml
5- Volver a acceder a la url del sitio, donde comenzara nuevamente el instalador.



*-*
Sebastian A. Colombini