tgstation-server  4.3.2
The /tg/station 13 server suite
DatabaseConnectionFactory.cs
Go to the documentation of this file.
1 using System;
2 using System.Data.Common;
3 using System.Data.SqlClient;
4 using Microsoft.Data.Sqlite;
5 using MySql.Data.MySqlClient;
6 using Npgsql;
8 
9 namespace Tgstation.Server.Host.Database
10 {
13  {
15  public DbConnection CreateConnection(string connectionString, DatabaseType databaseType)
16  {
17  if (connectionString == null)
18  throw new ArgumentNullException(nameof(connectionString));
19 
20  switch (databaseType)
21  {
22  case DatabaseType.MariaDB:
23  case DatabaseType.MySql:
24  return new MySqlConnection
25  {
26  ConnectionString = connectionString
27  };
28  case DatabaseType.SqlServer:
29  return new SqlConnection
30  {
31  ConnectionString = connectionString
32  };
33  case DatabaseType.Sqlite:
34  return new SqliteConnection
35  {
36  ConnectionString = connectionString
37  };
38  case DatabaseType.PostgresSql:
39  return new NpgsqlConnection
40  {
41  ConnectionString = connectionString
42  };
43  default:
44  throw new ArgumentOutOfRangeException(nameof(databaseType), databaseType, "Invalid DatabaseType!");
45  }
46  }
47  }
48 }
DbConnection CreateConnection(string connectionString, DatabaseType databaseType)
Create a DbConnection
DatabaseType
Type of database to user
Definition: DatabaseType.cs:6