private function createColumnDef($dbtype, $nullDefault = false) {
        $column = Db::typeDef($dbtype);

        if ($column === null) {
            throw new \InvalidArgumentException("Unknown type '$dbtype'.", 500);
        }

        if ($column['dbtype'] === 'bool' && in_array($nullDefault, [true, false], true)) {
            // Booleans have a special meaning.
            $column['allowNull'] = false;
            $column['default'] = $nullDefault;
        } elseif ($column['dbtype'] === 'timestamp' && empty($column['default'])) {
            $column['default'] = 'current_timestamp';
        } elseif ($nullDefault === null || $nullDefault === true) {
            $column['allowNull'] = true;
        } elseif ($nullDefault === false) {
            $column['allowNull'] = false;
        } else {
            $column['allowNull'] = false;
            $column['default'] = $nullDefault;
        }

        return $column;
    }