$defs = array('$definition["'.$columnName.'"]->setType("'.$type.'");');
if (isset($options['limit'])) { $defs[] = '$definition["'.$columnName.'"]->setLimit("'.$options['limit'].'");'; }
- if (isset($options['default'])) { $defs[] = '$definition["'.$columnName.'"]->setDefault("'.$options['default'].'");'; }
if (isset($options['null'])) { $defs[] = '$definition["'.$columnName.'"]->setNull("'.$options['null'].'");'; }
if (isset($options['precision'])) { $defs[] = '$definition["'.$columnName.'"]->setPrecision("'.$options['precision'].'");'; }
if (isset($options['scale'])) { $defs[] = '$definition["'.$columnName.'"]->setScale("'.$options['scale'].'");'; }
+ if (array_key_exists('default', $options)) {
+ if ($options['default'] === true) {
+ $default = 'true';
+ } elseif ($options['default'] === false) {
+ $default = 'false';
+ } elseif ($options['default'] === null) {
+ $default = 'null';
+ } else {
+ $default = '"' . $options['default'] . '"';
+ }
+ $defs[] = '$definition["'.$columnName.'"]->setDefault('.$default.');'; }
+
return $this->_alterTable($tableName, array(),
create_function('$definition', implode("\n", $defs)));
}
{
$this->_clearTableCache($tableName);
+ $default = is_null($default) ? 'null' : '"' . $default . '"';
return $this->_alterTable($tableName, array(),
- create_function('$definition', '$definition["'.$columnName.'"]->setDefault("'.$default.'");'));
+ create_function('$definition', '$definition["'.$columnName.'"]->setDefault('.$default.');'));
}
/**