Commit 68b4e553 authored by Taylor Otwell's avatar Taylor Otwell

Cleaning up code.

Signed-off-by: 's avatarTaylor Otwell <taylorotwell@gmail.com>
parent 8c209a7a
...@@ -22,6 +22,9 @@ class MySQL extends Connector { ...@@ -22,6 +22,9 @@ class MySQL extends Connector {
$dsn .= ";port={$config['port']}"; $dsn .= ";port={$config['port']}";
} }
// The UNIX socket option allows the developer to indicate that the MySQL
// instance must be connected to via a given socket. We'll just append
// it to the DSN connection string if it is present.
if (isset($config['unix_socket'])) if (isset($config['unix_socket']))
{ {
$dsn .= ";unix_socket={$config['unix_socket']}"; $dsn .= ";unix_socket={$config['unix_socket']}";
......
...@@ -12,18 +12,29 @@ class SQLite extends Connector { ...@@ -12,18 +12,29 @@ class SQLite extends Connector {
{ {
$options = $this->options($config); $options = $this->options($config);
// SQLite provides supported for "in-memory" databases, which exist only for the // SQLite provides supported for "in-memory" databases, which exist only for
// lifetime of the request. Any given in-memory database may only have one PDO // lifetime of the request. Any given in-memory database may only have one
// connection open to it at a time. These are usually for testing. // PDO connection open to it at a time. These are mainly for tests.
if ($config['database'] == ':memory:') if ($config['database'] == ':memory:')
{ {
return new PDO('sqlite::memory:', null, null, $options); return new PDO('sqlite::memory:', null, null, $options);
} }
// SQLite databases will be created automatically if they do not exist, so we // We'll allow the "database" configuration option to be a fully qualified
// will not check for the existence of the database file before establishing // path to the database so we'll check if that is the case first. If it
// the PDO connection to the database. // isn't a fully qualified path we will use the storage directory.
if (file_exists($config['database']))
{
$path = $config['database'];
}
// The database option does not appear to be a fully qualified path so we
// will just assume it is a relative path from the storage directory
// which is typically used to store all SQLite databases.
else
{
$path = path('storage').'database'.DS.$config['database'].'.sqlite'; $path = path('storage').'database'.DS.$config['database'].'.sqlite';
}
return new PDO('sqlite:'.$path, null, null, $options); return new PDO('sqlite:'.$path, null, null, $options);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment