public function configureSchema(Schema
$schema, \Closure
$isSameDatabase = null
): void
{ if ($schema->
hasTable($this->table
) || ($isSameDatabase && !
$isSameDatabase($this->
getConnection()->
exec(...
)))) { return;
} $table =
$schema->
createTable($this->table
);
switch ($this->driver
) { case 'mysql':
$table->
addColumn($this->idCol, Types::BINARY
)->
setLength(128
)->
setNotnull(true
);
$table->
addColumn($this->dataCol, Types::BLOB
)->
setNotnull(true
);
$table->
addColumn($this->lifetimeCol, Types::INTEGER
)->
setUnsigned(true
)->
setNotnull(true
);
$table->
addColumn($this->timeCol, Types::INTEGER
)->
setUnsigned(true
)->
setNotnull(true
);
$table->
addOption('collate', 'utf8mb4_bin'
);
$table->
addOption('engine', 'InnoDB'
);
break;
case 'sqlite':
$table->
addColumn($this->idCol, Types::TEXT
)->
setNotnull(true
);
$table->
addColumn($this->dataCol, Types::BLOB
)->
setNotnull(true
);
$table->
addColumn($this->lifetimeCol, Types::INTEGER
)->
setNotnull(true
);
$table->
addColumn($this->timeCol, Types::INTEGER
)->
setNotnull(true
);
break;
case 'pgsql':