| Current Path : /home/rtorresani/www/vendor/laminas/laminas-db/src/Sql/Ddl/Column/ |
| Current File : //home/rtorresani/www/vendor/laminas/laminas-db/src/Sql/Ddl/Column/AbstractTimestampColumn.php |
<?php
namespace Laminas\Db\Sql\Ddl\Column;
use function array_merge;
/**
* @see doc section http://dev.mysql.com/doc/refman/5.6/en/timestamp-initialization.html
*/
abstract class AbstractTimestampColumn extends Column
{
/**
* @return array
*/
public function getExpressionData()
{
$spec = $this->specification;
$params = [];
$params[] = $this->name;
$params[] = $this->type;
$types = [self::TYPE_IDENTIFIER, self::TYPE_LITERAL];
if (! $this->isNullable) {
$spec .= ' NOT NULL';
}
if ($this->default !== null) {
$spec .= ' DEFAULT %s';
$params[] = $this->default;
$types[] = self::TYPE_VALUE;
}
$options = $this->getOptions();
if (isset($options['on_update'])) {
$spec .= ' %s';
$params[] = 'ON UPDATE CURRENT_TIMESTAMP';
$types[] = self::TYPE_LITERAL;
}
$data = [
[
$spec,
$params,
$types,
],
];
foreach ($this->constraints as $constraint) {
$data[] = ' ';
$data = array_merge($data, $constraint->getExpressionData());
}
return $data;
}
}