feature: add Microsoft SQL Server database support

can be used via the pdo_dblib or pdo_odbc extensions.
requires Microsoft SQL Server 2016 or later.

* add schema/migrations
* add database provider
* add setup check for pdo module needed by selected driver (dblib/odbc)
* add default config doc
This commit is contained in:
Joe Nahmias
2022-07-08 08:22:10 -04:00
committed by Frédéric Guillot
parent 338d02a2f6
commit 33852e9ea0
5 changed files with 773 additions and 6 deletions

View File

@@ -59,6 +59,15 @@ class DatabaseProvider implements ServiceProviderInterface
case 'postgres':
$db = $this->getPostgresInstance();
break;
case 'dblib':
$db = $this->getMssqlInstance();
break;
case 'mssql':
$db = $this->getMssqlInstance();
break;
case 'odbc':
$db = $this->getMssqlInstance();
break;
default:
throw new LogicException('Database driver not supported');
}
@@ -160,4 +169,27 @@ class DatabaseProvider implements ServiceProviderInterface
'timeout' => DB_TIMEOUT,
));
}
/**
* Setup the MSSQL database driver
*
* @access private
* @return \PicoDb\Database
*/
private function getMssqlInstance()
{
require_once __DIR__.'/../Schema/Mssql.php';
return new Database(array(
'driver' => DB_DRIVER,
'hostname' => DB_HOSTNAME,
'username' => DB_USERNAME,
'password' => DB_PASSWORD,
'database' => DB_NAME,
'port' => DB_PORT,
'odbc-dsn' => DB_ODBC_DSN,
'timeout' => DB_TIMEOUT,
'appname' => 'Kanboard',
));
}
}