/** @var $installer Navoq_Backup_Model_Resource_Setup */ $installer = $this; /** @var $adapter Varien_Db_Adapter_Pdo_Mysql */ $adapter = $installer->getConnection(); // Add 'file_name' column $adapter->addColumn($installer->getTable('navoq_backup/file'), 'file_name', array( 'comment' => 'Name of file', 'nullable' => true, 'column_type' => Varien_Db_Ddl_Table::TYPE_VARCHAR, 'length' => 100 ));
Это при том, что при добавлении таблицы колонка с такими же параметрами создается:
/** @var $installer Navoq_Backup_Model_Resource_Setup */ $installer = $this; /** @var $adapter Varien_Db_Adapter_Pdo_Mysql */ $adapter = $installer->getConnection(); /** * Create table 'navoq_backup/backup_list' */ $table = $adapter->newTable($installer->getTable('navoq_backup/file')) ->addColumn('file_name', Varien_Db_Ddl_Table::TYPE_VARCHAR, 100, array('nullable' => true), 'Name of file') ->setComment('Navoq Backup File List'); $adapter->createTable($table);
Мистика, не так ли? Но выход есть. Вернемся к первоначальному коду. Если добавить колонку таким образом:
/** @var $installer Navoq_Backup_Model_Resource_Setup */ $installer = $this; /** @var $adapter Varien_Db_Adapter_Pdo_Mysql */ $adapter = $installer->getConnection(); // Add 'file_name' column $adapter->addColumn($installer->getTable('navoq_backup/backup_list'), 'file_name', array( 'comment' => 'Name of file', 'nullable' => true, 'column_type' => Varien_Db_Ddl_Table::TYPE_TEXT ));
У нас выполнится апгрейд и в таблице `navoq_backup_file` появится поле `file_name` типа TEXT. Но стоит нам добавить в предыдущий код параметр length:
/** @var $installer Navoq_Backup_Model_Resource_Setup */ $installer = $this; /** @var $adapter Varien_Db_Adapter_Pdo_Mysql */ $adapter = $installer->getConnection(); // Add 'file_name' column $adapter->addColumn($installer->getTable('navoq_backup/backup_list'), 'file_name', array( 'comment' => 'Name of file', 'nullable' => true, 'column_type' => Varien_Db_Ddl_Table::TYPE_TEXT, 'length' => 100 ));
И у нас создается то же поле `file_name` но типа VARCHAR и длинной в 100 символов. Enjoy ;)
Комментариев нет:
Отправить комментарий