Pour permettre un déploiement plus simple d’un projet développé sous Magento, il est conseillé d’utiliser les script d’installation pour ajouter des tables ou les mettre à jour. Cependant, en jetant un coup d’oeil dans la classe Varien_Db_Ddl_Table, on s’aperçoit que l’ensemble des types de texte TYPE_VARCHAR, TYPE_CLOB et TYPE_LONGVARCHAR sont convertis en TYPE_TEXT.
<?php
class Varien_Db_Ddl_Table
{
public function addColumn($name, $type, $size = null, $options = array(), $comment = null)
{
// Convert deprecated types
switch ($type) {
case self::TYPE_CHAR:
case self::TYPE_VARCHAR:
case self::TYPE_LONGVARCHAR:
case self::TYPE_CLOB:
$type = self::TYPE_TEXT;
break;
case self::TYPE_TINYINT:
$type = self::TYPE_SMALLINT;
break;
case self::TYPE_DOUBLE:
case self::TYPE_REAL:
$type = self::TYPE_FLOAT;
break;
case self::TYPE_TIME:
$type = self::TYPE_TIMESTAMP;
break;
case self::TYPE_BINARY:
case self::TYPE_LONGVARBINARY:
$type = self::TYPE_BLOB;
break;
}
}
}
PHPDans ce cas, comment avoir un varchar dans un script d’installation. Cela est très simple : il suffit de définir une longueur au champ texte qu’on veut mettre en place.
<?php
$installer->getConnection()
->addColumn($installer->getTable('monmodule/matable'), 'page_url', array(
'type' => Varien_Db_Ddl_Table::TYPE_TEXT,
'default' => NULL,
'nullable' => true,
'LENGTH' => 125,
'comment' => 'Url of the page'
));
PHP
Laisser un commentaire
Vous devez vous connecter pour publier un commentaire.