diff --git a/build/analyzers.ruleset b/build/analyzers.ruleset
index 9d8283bffa..bbf7b12dab 100644
--- a/build/analyzers.ruleset
+++ b/build/analyzers.ruleset
@@ -30,7 +30,7 @@
-
+
diff --git a/src/Tgstation.Server.Api/ApiHeaders.cs b/src/Tgstation.Server.Api/ApiHeaders.cs
index f7bf788a7e..b1be91ff6f 100644
--- a/src/Tgstation.Server.Api/ApiHeaders.cs
+++ b/src/Tgstation.Server.Api/ApiHeaders.cs
@@ -137,6 +137,9 @@ namespace Tgstation.Server.Api
/// The containing the
public ApiHeaders(RequestHeaders requestHeaders)
{
+ if (requestHeaders == null)
+ throw new ArgumentNullException(nameof(requestHeaders));
+
var jsonAccept = new Microsoft.Net.Http.Headers.MediaTypeHeaderValue(ApplicationJson);
if (!requestHeaders.Accept.Any(x => x.MediaType == jsonAccept.MediaType))
throw new InvalidOperationException(String.Format(CultureInfo.InvariantCulture, "Client does not accept {0}!", ApplicationJson));
diff --git a/src/Tgstation.Server.Api/Models/Internal/DreamDaemonLaunchParameters.cs b/src/Tgstation.Server.Api/Models/Internal/DreamDaemonLaunchParameters.cs
index 34054f4487..43999fb783 100644
--- a/src/Tgstation.Server.Api/Models/Internal/DreamDaemonLaunchParameters.cs
+++ b/src/Tgstation.Server.Api/Models/Internal/DreamDaemonLaunchParameters.cs
@@ -1,4 +1,5 @@
-using System.ComponentModel.DataAnnotations;
+using System;
+using System.ComponentModel.DataAnnotations;
namespace Tgstation.Server.Api.Models.Internal
{
@@ -43,7 +44,7 @@ namespace Tgstation.Server.Api.Models.Internal
/// The to compare against
/// if they match, otherwise
public bool Match(DreamDaemonLaunchParameters otherParameters) =>
- AllowWebClient == otherParameters.AllowWebClient
+ AllowWebClient == (otherParameters?.AllowWebClient ?? throw new ArgumentNullException(nameof(otherParameters)))
&& SecurityLevel == otherParameters.SecurityLevel
&& PrimaryPort == otherParameters.PrimaryPort
&& SecondaryPort == otherParameters.SecondaryPort
diff --git a/src/Tgstation.Server.Host.Service/ServerService.cs b/src/Tgstation.Server.Host.Service/ServerService.cs
index b82dd1de65..42bb08041f 100644
--- a/src/Tgstation.Server.Host.Service/ServerService.cs
+++ b/src/Tgstation.Server.Host.Service/ServerService.cs
@@ -2,7 +2,6 @@
using Microsoft.Extensions.Logging.EventLog;
using System;
using System.Diagnostics;
-using System.Diagnostics.CodeAnalysis;
using System.Globalization;
using System.ServiceProcess;
using System.Threading;
@@ -85,9 +84,7 @@ namespace Tgstation.Server.Host.Service
Task.Run(Stop, cancellationToken);
}
catch (OperationCanceledException) { }
-#pragma warning disable CA1031 // Do not catch general exception types
catch (Exception e)
-#pragma warning restore CA1031 // Do not catch general exception types
{
EventLog.WriteEntry(String.Format(CultureInfo.InvariantCulture, "Error stopping service! Exception: {0}", e));
}
@@ -97,7 +94,6 @@ namespace Tgstation.Server.Host.Service
}
///
- [SuppressMessage("Microsoft.Usage", "CA2213:DisposableFieldsShouldBeDisposed", MessageId = "cancellationTokenSource", Justification = "IT'S DISPOSED RIGHT THERE YOU FUCCBOI!")]
protected override void Dispose(bool disposing)
{
cancellationTokenSource?.Dispose();
diff --git a/src/Tgstation.Server.Host/Components/Compiler/DreamMaker.cs b/src/Tgstation.Server.Host/Components/Compiler/DreamMaker.cs
index b4b52bf9ba..318243c064 100644
--- a/src/Tgstation.Server.Host/Components/Compiler/DreamMaker.cs
+++ b/src/Tgstation.Server.Host/Components/Compiler/DreamMaker.cs
@@ -176,9 +176,9 @@ namespace Tgstation.Server.Host.Components.Compiler
var dirA = ioManager.ConcatPath(job.DirectoryName.ToString(), ADirectoryName);
job.MinimumSecurityLevel = securityLevel; // needed for the TempDmbProvider
- var provider = new TemporaryDmbProvider(ioManager.ResolvePath(dirA), String.Concat(job.DmeName, DmbExtension), job);
-
var timeoutAt = DateTimeOffset.Now.AddSeconds(timeout);
+
+ using (var provider = new TemporaryDmbProvider(ioManager.ResolvePath(dirA), String.Concat(job.DmeName, DmbExtension), job))
using (var controller = await sessionControllerFactory.LaunchNew(launchParameters, provider, byondLock, true, true, true, cancellationToken).ConfigureAwait(false))
{
var launchResult = await controller.LaunchResult.ConfigureAwait(false);
diff --git a/src/Tgstation.Server.Host/Components/Watchdog/SessionControllerFactory.cs b/src/Tgstation.Server.Host/Components/Watchdog/SessionControllerFactory.cs
index 997f463571..cfa7c81c0d 100644
--- a/src/Tgstation.Server.Host/Components/Watchdog/SessionControllerFactory.cs
+++ b/src/Tgstation.Server.Host/Components/Watchdog/SessionControllerFactory.cs
@@ -296,29 +296,30 @@ namespace Tgstation.Server.Host.Components.Watchdog
{
networkPromptReaper.RegisterProcess(process);
result = new SessionController(reattachInformation, process, byondLock, byondTopicSender, chatJsonTrackingContext, context, chat, loggerFactory.CreateLogger(), null, null);
+
+ process = null;
+ context = null;
+ byondLock = null;
+ chatJsonTrackingContext = null;
}
finally
{
- if (result == null)
- process.Dispose();
+ process?.Dispose();
}
}
finally
{
- if (result == null)
- context.Dispose();
+ context?.Dispose();
}
}
finally
{
- if (result == null)
- byondLock.Dispose();
+ byondLock?.Dispose();
}
}
finally
{
- if (result == null)
- chatJsonTrackingContext.Dispose();
+ chatJsonTrackingContext?.Dispose();
}
return result;
diff --git a/src/Tgstation.Server.Host/Components/Watchdog/Watchdog.cs b/src/Tgstation.Server.Host/Components/Watchdog/Watchdog.cs
index 0aa84f2601..84ea3fb90d 100644
--- a/src/Tgstation.Server.Host/Components/Watchdog/Watchdog.cs
+++ b/src/Tgstation.Server.Host/Components/Watchdog/Watchdog.cs
@@ -208,6 +208,10 @@ namespace Tgstation.Server.Host.Components.Watchdog
DisposeAndNullControllers();
semaphore.Dispose();
restartRegistration.Dispose();
+
+ // mostly here to please fxcop, but it definitely should be disposed already
+ Debug.Assert(monitorCts == null, "We reached Disposes() an monitorCts is not null!");
+ monitorCts?.Dispose();
}
///
@@ -679,6 +683,7 @@ namespace Tgstation.Server.Host.Components.Watchdog
monitorCts.Cancel();
await monitorTask.ConfigureAwait(false);
monitorCts.Dispose();
+ monitorCts = null;
monitorTask = null;
return true;
}
diff --git a/src/Tgstation.Server.Host/Core/SetupWizard.cs b/src/Tgstation.Server.Host/Core/SetupWizard.cs
index 44fc7eb3ff..ed782260ff 100644
--- a/src/Tgstation.Server.Host/Core/SetupWizard.cs
+++ b/src/Tgstation.Server.Host/Core/SetupWizard.cs
@@ -274,7 +274,8 @@ namespace Tgstation.Server.Host.Core
await console.WriteAsync("Testing create DB permission...", true, cancellationToken).ConfigureAwait(false);
using (var command = testConnection.CreateCommand())
{
- command.CommandText = String.Format(CultureInfo.InvariantCulture, "CREATE DATABASE {0}", databaseName);
+ command.CommandText = "CREATE DATABASE ?";
+ command.Parameters.Add(databaseName);
await command.ExecuteNonQueryAsync(cancellationToken).ConfigureAwait(false);
}
@@ -282,7 +283,8 @@ namespace Tgstation.Server.Host.Core
await console.WriteAsync("Dropping test database...", true, cancellationToken).ConfigureAwait(false);
using (var command = testConnection.CreateCommand())
{
- command.CommandText = String.Format(CultureInfo.InvariantCulture, "DROP DATABASE {0}", databaseName);
+ command.CommandText = "DROP DATABASE ?";
+ command.Parameters.Add(databaseName);
try
{
await command.ExecuteNonQueryAsync(cancellationToken).ConfigureAwait(false);
diff --git a/src/Tgstation.Server.Host/Models/Migrations/20180906135553_MSInitialCreate.cs b/src/Tgstation.Server.Host/Models/Migrations/20180906135553_MSInitialCreate.cs
index c796a12444..cb61dfd5cc 100644
--- a/src/Tgstation.Server.Host/Models/Migrations/20180906135553_MSInitialCreate.cs
+++ b/src/Tgstation.Server.Host/Models/Migrations/20180906135553_MSInitialCreate.cs
@@ -16,6 +16,9 @@ namespace Tgstation.Server.Host.Models.Migrations
/// The to use
protected override void Up(MigrationBuilder migrationBuilder)
{
+ if (migrationBuilder == null)
+ throw new ArgumentNullException(nameof(migrationBuilder));
+
migrationBuilder.CreateTable(
name: "Users",
columns: table => new
@@ -596,6 +599,9 @@ namespace Tgstation.Server.Host.Models.Migrations
/// The to use
protected override void Down(MigrationBuilder migrationBuilder)
{
+ if (migrationBuilder == null)
+ throw new ArgumentNullException(nameof(migrationBuilder));
+
migrationBuilder.DropForeignKey(
name: "FK_Jobs_Instances_InstanceId",
table: "Jobs");
diff --git a/src/Tgstation.Server.Host/Models/Migrations/20180906143029_MYInitialCreate.cs b/src/Tgstation.Server.Host/Models/Migrations/20180906143029_MYInitialCreate.cs
index 2da9d98878..7ceb691436 100644
--- a/src/Tgstation.Server.Host/Models/Migrations/20180906143029_MYInitialCreate.cs
+++ b/src/Tgstation.Server.Host/Models/Migrations/20180906143029_MYInitialCreate.cs
@@ -16,6 +16,9 @@ namespace Tgstation.Server.Host.Models.Migrations
/// The to use
protected override void Up(MigrationBuilder migrationBuilder)
{
+ if (migrationBuilder == null)
+ throw new ArgumentNullException(nameof(migrationBuilder));
+
migrationBuilder.CreateTable(
name: "Users",
columns: table => new
@@ -593,6 +596,9 @@ namespace Tgstation.Server.Host.Models.Migrations
/// The to use
protected override void Down(MigrationBuilder migrationBuilder)
{
+ if (migrationBuilder == null)
+ throw new ArgumentNullException(nameof(migrationBuilder));
+
migrationBuilder.DropForeignKey(
name: "FK_Jobs_Instances_InstanceId",
table: "Jobs");
diff --git a/src/Tgstation.Server.Host/Models/Migrations/20180918020726_MYAddMinimumSecurity.cs b/src/Tgstation.Server.Host/Models/Migrations/20180918020726_MYAddMinimumSecurity.cs
index 95950e251f..d2d3149416 100644
--- a/src/Tgstation.Server.Host/Models/Migrations/20180918020726_MYAddMinimumSecurity.cs
+++ b/src/Tgstation.Server.Host/Models/Migrations/20180918020726_MYAddMinimumSecurity.cs
@@ -1,4 +1,5 @@
using Microsoft.EntityFrameworkCore.Migrations;
+using System;
using Tgstation.Server.Api.Models;
namespace Tgstation.Server.Host.Models.Migrations
@@ -14,6 +15,9 @@ namespace Tgstation.Server.Host.Models.Migrations
/// The to use
protected override void Up(MigrationBuilder migrationBuilder)
{
+ if (migrationBuilder == null)
+ throw new ArgumentNullException(nameof(migrationBuilder));
+
migrationBuilder.AddColumn(
name: "ApiValidationSecurityLevel",
table: "DreamMakerSettings",
@@ -33,6 +37,9 @@ namespace Tgstation.Server.Host.Models.Migrations
/// The to use
protected override void Down(MigrationBuilder migrationBuilder)
{
+ if (migrationBuilder == null)
+ throw new ArgumentNullException(nameof(migrationBuilder));
+
migrationBuilder.DropColumn(
name: "ApiValidationSecurityLevel",
table: "DreamMakerSettings");
diff --git a/src/Tgstation.Server.Host/Models/Migrations/20180918021228_MSAddMinimumSecurity.cs b/src/Tgstation.Server.Host/Models/Migrations/20180918021228_MSAddMinimumSecurity.cs
index 9ac5b22b9f..67abc2ea84 100644
--- a/src/Tgstation.Server.Host/Models/Migrations/20180918021228_MSAddMinimumSecurity.cs
+++ b/src/Tgstation.Server.Host/Models/Migrations/20180918021228_MSAddMinimumSecurity.cs
@@ -1,4 +1,5 @@
using Microsoft.EntityFrameworkCore.Migrations;
+using System;
using Tgstation.Server.Api.Models;
namespace Tgstation.Server.Host.Models.Migrations
@@ -14,6 +15,9 @@ namespace Tgstation.Server.Host.Models.Migrations
/// The to use
protected override void Up(MigrationBuilder migrationBuilder)
{
+ if (migrationBuilder == null)
+ throw new ArgumentNullException(nameof(migrationBuilder));
+
migrationBuilder.AddColumn(
name: "ApiValidationSecurityLevel",
table: "DreamMakerSettings",
@@ -33,6 +37,9 @@ namespace Tgstation.Server.Host.Models.Migrations
/// The to use
protected override void Down(MigrationBuilder migrationBuilder)
{
+ if (migrationBuilder == null)
+ throw new ArgumentNullException(nameof(migrationBuilder));
+
migrationBuilder.DropColumn(
name: "ApiValidationSecurityLevel",
table: "DreamMakerSettings");
diff --git a/src/Tgstation.Server.Host/Models/Migrations/20180918204520_MYNullableAndForeignKeyCleanup.cs b/src/Tgstation.Server.Host/Models/Migrations/20180918204520_MYNullableAndForeignKeyCleanup.cs
index c5bf5fa166..2bb9547f3e 100644
--- a/src/Tgstation.Server.Host/Models/Migrations/20180918204520_MYNullableAndForeignKeyCleanup.cs
+++ b/src/Tgstation.Server.Host/Models/Migrations/20180918204520_MYNullableAndForeignKeyCleanup.cs
@@ -14,6 +14,9 @@ namespace Tgstation.Server.Host.Models.Migrations
/// The to use
protected override void Up(MigrationBuilder migrationBuilder)
{
+ if (migrationBuilder == null)
+ throw new ArgumentNullException(nameof(migrationBuilder));
+
migrationBuilder.DropForeignKey(
name: "FK_Instances_WatchdogReattachInformations_WatchdogReattachInfor~",
table: "Instances");
@@ -122,6 +125,9 @@ namespace Tgstation.Server.Host.Models.Migrations
/// The to use
protected override void Down(MigrationBuilder migrationBuilder)
{
+ if (migrationBuilder == null)
+ throw new ArgumentNullException(nameof(migrationBuilder));
+
migrationBuilder.DropForeignKey(
name: "FK_TestMerges_RevisionInformations_PrimaryRevisionInformationId",
table: "TestMerges");
diff --git a/src/Tgstation.Server.Host/Models/Migrations/20180918205224_MSNullableAndForeignKeyCleanup.cs b/src/Tgstation.Server.Host/Models/Migrations/20180918205224_MSNullableAndForeignKeyCleanup.cs
index 3cc60483d6..ec767c8e53 100644
--- a/src/Tgstation.Server.Host/Models/Migrations/20180918205224_MSNullableAndForeignKeyCleanup.cs
+++ b/src/Tgstation.Server.Host/Models/Migrations/20180918205224_MSNullableAndForeignKeyCleanup.cs
@@ -14,6 +14,9 @@ namespace Tgstation.Server.Host.Models.Migrations
/// The to use
protected override void Up(MigrationBuilder migrationBuilder)
{
+ if (migrationBuilder == null)
+ throw new ArgumentNullException(nameof(migrationBuilder));
+
migrationBuilder.DropForeignKey(
name: "FK_Instances_WatchdogReattachInformations_WatchdogReattachInformationId",
table: "Instances");
@@ -120,6 +123,9 @@ namespace Tgstation.Server.Host.Models.Migrations
/// The to use
protected override void Down(MigrationBuilder migrationBuilder)
{
+ if (migrationBuilder == null)
+ throw new ArgumentNullException(nameof(migrationBuilder));
+
migrationBuilder.DropForeignKey(
name: "FK_TestMerges_RevisionInformations_PrimaryRevisionInformationId",
table: "TestMerges");
diff --git a/src/Tgstation.Server.Host/Models/Migrations/20180926033145_MSReattachCompileJobRequired.cs b/src/Tgstation.Server.Host/Models/Migrations/20180926033145_MSReattachCompileJobRequired.cs
index 1de3ab48ca..8bed2d3671 100644
--- a/src/Tgstation.Server.Host/Models/Migrations/20180926033145_MSReattachCompileJobRequired.cs
+++ b/src/Tgstation.Server.Host/Models/Migrations/20180926033145_MSReattachCompileJobRequired.cs
@@ -1,4 +1,5 @@
using Microsoft.EntityFrameworkCore.Migrations;
+using System;
namespace Tgstation.Server.Host.Models.Migrations
{
@@ -13,6 +14,9 @@ namespace Tgstation.Server.Host.Models.Migrations
/// The to use
protected override void Up(MigrationBuilder migrationBuilder)
{
+ if (migrationBuilder == null)
+ throw new ArgumentNullException(nameof(migrationBuilder));
+
migrationBuilder.DropForeignKey(
name: "FK_ReattachInformations_CompileJobs_CompileJobId",
table: "ReattachInformations");
@@ -39,6 +43,9 @@ namespace Tgstation.Server.Host.Models.Migrations
/// The to use
protected override void Down(MigrationBuilder migrationBuilder)
{
+ if (migrationBuilder == null)
+ throw new ArgumentNullException(nameof(migrationBuilder));
+
migrationBuilder.DropForeignKey(
name: "FK_ReattachInformations_CompileJobs_CompileJobId",
table: "ReattachInformations");
diff --git a/src/Tgstation.Server.Host/Models/Migrations/20180926034014_MYReattachCompileJobRequired.cs b/src/Tgstation.Server.Host/Models/Migrations/20180926034014_MYReattachCompileJobRequired.cs
index 6eb1596cc8..b51167b1a3 100644
--- a/src/Tgstation.Server.Host/Models/Migrations/20180926034014_MYReattachCompileJobRequired.cs
+++ b/src/Tgstation.Server.Host/Models/Migrations/20180926034014_MYReattachCompileJobRequired.cs
@@ -1,4 +1,5 @@
using Microsoft.EntityFrameworkCore.Migrations;
+using System;
namespace Tgstation.Server.Host.Models.Migrations
{
@@ -13,6 +14,9 @@ namespace Tgstation.Server.Host.Models.Migrations
/// The to use
protected override void Up(MigrationBuilder migrationBuilder)
{
+ if (migrationBuilder == null)
+ throw new ArgumentNullException(nameof(migrationBuilder));
+
migrationBuilder.DropForeignKey(
name: "FK_ReattachInformations_CompileJobs_CompileJobId",
table: "ReattachInformations");
@@ -39,6 +43,9 @@ namespace Tgstation.Server.Host.Models.Migrations
/// The to use
protected override void Down(MigrationBuilder migrationBuilder)
{
+ if (migrationBuilder == null)
+ throw new ArgumentNullException(nameof(migrationBuilder));
+
migrationBuilder.DropForeignKey(
name: "FK_ReattachInformations_CompileJobs_CompileJobId",
table: "ReattachInformations");
diff --git a/src/Tgstation.Server.Host/Models/Migrations/20181124231534_MSToggleTestmergeComments.cs b/src/Tgstation.Server.Host/Models/Migrations/20181124231534_MSToggleTestmergeComments.cs
index 752755e8c1..8ec93a1f6b 100644
--- a/src/Tgstation.Server.Host/Models/Migrations/20181124231534_MSToggleTestmergeComments.cs
+++ b/src/Tgstation.Server.Host/Models/Migrations/20181124231534_MSToggleTestmergeComments.cs
@@ -1,4 +1,5 @@
using Microsoft.EntityFrameworkCore.Migrations;
+using System;
namespace Tgstation.Server.Host.Models.Migrations
{
@@ -13,6 +14,9 @@ namespace Tgstation.Server.Host.Models.Migrations
/// The to use
protected override void Up(MigrationBuilder migrationBuilder)
{
+ if (migrationBuilder == null)
+ throw new ArgumentNullException(nameof(migrationBuilder));
+
migrationBuilder.AddColumn(
name: "PostTestMergeComment",
table: "RepositorySettings",
@@ -26,6 +30,9 @@ namespace Tgstation.Server.Host.Models.Migrations
/// The to use
protected override void Down(MigrationBuilder migrationBuilder)
{
+ if (migrationBuilder == null)
+ throw new ArgumentNullException(nameof(migrationBuilder));
+
migrationBuilder.DropColumn(
name: "PostTestMergeComment",
table: "RepositorySettings");
diff --git a/src/Tgstation.Server.Host/Models/Migrations/20181124231549_MYToggleTestmergeComments.cs b/src/Tgstation.Server.Host/Models/Migrations/20181124231549_MYToggleTestmergeComments.cs
index e34f586448..dddde6535d 100644
--- a/src/Tgstation.Server.Host/Models/Migrations/20181124231549_MYToggleTestmergeComments.cs
+++ b/src/Tgstation.Server.Host/Models/Migrations/20181124231549_MYToggleTestmergeComments.cs
@@ -1,4 +1,5 @@
using Microsoft.EntityFrameworkCore.Migrations;
+using System;
namespace Tgstation.Server.Host.Models.Migrations
{
@@ -13,6 +14,9 @@ namespace Tgstation.Server.Host.Models.Migrations
/// The to use
protected override void Up(MigrationBuilder migrationBuilder)
{
+ if (migrationBuilder == null)
+ throw new ArgumentNullException(nameof(migrationBuilder));
+
migrationBuilder.AddColumn(
name: "PostTestMergeComment",
table: "RepositorySettings",
@@ -26,6 +30,9 @@ namespace Tgstation.Server.Host.Models.Migrations
/// The to use
protected override void Down(MigrationBuilder migrationBuilder)
{
+ if (migrationBuilder == null)
+ throw new ArgumentNullException(nameof(migrationBuilder));
+
migrationBuilder.DropColumn(
name: "PostTestMergeComment",
table: "RepositorySettings");
diff --git a/src/Tgstation.Server.Host/Models/Migrations/20190219041825_MSFixRevInfoIndex.cs b/src/Tgstation.Server.Host/Models/Migrations/20190219041825_MSFixRevInfoIndex.cs
index 3f24dd001a..622f0cc147 100644
--- a/src/Tgstation.Server.Host/Models/Migrations/20190219041825_MSFixRevInfoIndex.cs
+++ b/src/Tgstation.Server.Host/Models/Migrations/20190219041825_MSFixRevInfoIndex.cs
@@ -1,4 +1,5 @@
using Microsoft.EntityFrameworkCore.Migrations;
+using System;
namespace Tgstation.Server.Host.Models.Migrations
{
@@ -13,6 +14,9 @@ namespace Tgstation.Server.Host.Models.Migrations
/// The to use
protected override void Up(MigrationBuilder migrationBuilder)
{
+ if (migrationBuilder == null)
+ throw new ArgumentNullException(nameof(migrationBuilder));
+
migrationBuilder.DropIndex(
name: "IX_RevisionInformations_CommitSha",
table: "RevisionInformations");
@@ -34,6 +38,9 @@ namespace Tgstation.Server.Host.Models.Migrations
/// The to use
protected override void Down(MigrationBuilder migrationBuilder)
{
+ if (migrationBuilder == null)
+ throw new ArgumentNullException(nameof(migrationBuilder));
+
migrationBuilder.DropIndex(
name: "IX_RevisionInformations_InstanceId_CommitSha",
table: "RevisionInformations");
diff --git a/src/Tgstation.Server.Host/Models/Migrations/20190219042440_MYFixRevInfoIndex.cs b/src/Tgstation.Server.Host/Models/Migrations/20190219042440_MYFixRevInfoIndex.cs
index dab01e982b..a76290268a 100644
--- a/src/Tgstation.Server.Host/Models/Migrations/20190219042440_MYFixRevInfoIndex.cs
+++ b/src/Tgstation.Server.Host/Models/Migrations/20190219042440_MYFixRevInfoIndex.cs
@@ -1,4 +1,5 @@
using Microsoft.EntityFrameworkCore.Migrations;
+using System;
namespace Tgstation.Server.Host.Models.Migrations
{
@@ -13,6 +14,9 @@ namespace Tgstation.Server.Host.Models.Migrations
/// The to use
protected override void Up(MigrationBuilder migrationBuilder)
{
+ if (migrationBuilder == null)
+ throw new ArgumentNullException(nameof(migrationBuilder));
+
migrationBuilder.DropForeignKey(
name: "FK_RevisionInformations_Instances_InstanceId",
table: "RevisionInformations");
@@ -46,6 +50,9 @@ namespace Tgstation.Server.Host.Models.Migrations
/// The to use
protected override void Down(MigrationBuilder migrationBuilder)
{
+ if (migrationBuilder == null)
+ throw new ArgumentNullException(nameof(migrationBuilder));
+
migrationBuilder.DropForeignKey(
name: "FK_RevisionInformations_Instances_InstanceId",
table: "RevisionInformations");
diff --git a/src/Tgstation.Server.Host/Models/Migrations/DesignTimeDbContextFactoryHelpers.cs b/src/Tgstation.Server.Host/Models/Migrations/DesignTimeDbContextFactoryHelpers.cs
index 98af100f86..cb4e730d1e 100644
--- a/src/Tgstation.Server.Host/Models/Migrations/DesignTimeDbContextFactoryHelpers.cs
+++ b/src/Tgstation.Server.Host/Models/Migrations/DesignTimeDbContextFactoryHelpers.cs
@@ -7,7 +7,7 @@ using Tgstation.Server.Host.Configuration;
namespace Tgstation.Server.Host.Models.Migrations
{
///
- /// Contains helpers for creating design time s
+ /// Contains helpers for creating design time s
///
static class DesignTimeDbContextFactoryHelpers
{
diff --git a/src/Tgstation.Server.Host/Models/Migrations/MySqlDesignTimeDbContextFactory.cs b/src/Tgstation.Server.Host/Models/Migrations/MySqlDesignTimeDbContextFactory.cs
index 14aafaca46..8bc131c39b 100644
--- a/src/Tgstation.Server.Host/Models/Migrations/MySqlDesignTimeDbContextFactory.cs
+++ b/src/Tgstation.Server.Host/Models/Migrations/MySqlDesignTimeDbContextFactory.cs
@@ -10,6 +10,12 @@ namespace Tgstation.Server.Host.Models.Migrations
sealed class MySqlDesignTimeDbContextFactory : IDesignTimeDbContextFactory
{
///
- public MySqlDatabaseContext CreateDbContext(string[] args) => new MySqlDatabaseContext(new DbContextOptions(), DesignTimeDbContextFactoryHelpers.GetDbContextOptions(), new DatabaseSeeder(new CryptographySuite(new PasswordHasher())), new LoggerFactory().CreateLogger());
+ public MySqlDatabaseContext CreateDbContext(string[] args)
+ {
+ using (var loggerFactory = LoggerFactory.Create(builder => { }))
+ {
+ return new MySqlDatabaseContext(new DbContextOptions(), DesignTimeDbContextFactoryHelpers.GetDbContextOptions(), new DatabaseSeeder(new CryptographySuite(new PasswordHasher())), loggerFactory.CreateLogger());
+ }
+ }
}
}
diff --git a/src/Tgstation.Server.Host/Models/Migrations/SqlServerDesignTimeDbContextFactory.cs b/src/Tgstation.Server.Host/Models/Migrations/SqlServerDesignTimeDbContextFactory.cs
index bf903b09c8..4ae89b26f1 100644
--- a/src/Tgstation.Server.Host/Models/Migrations/SqlServerDesignTimeDbContextFactory.cs
+++ b/src/Tgstation.Server.Host/Models/Migrations/SqlServerDesignTimeDbContextFactory.cs
@@ -10,6 +10,12 @@ namespace Tgstation.Server.Host.Models.Migrations
sealed class SqlServerDesignTimeDbContextFactory : IDesignTimeDbContextFactory
{
///
- public SqlServerDatabaseContext CreateDbContext(string[] args) => new SqlServerDatabaseContext(new DbContextOptions(), DesignTimeDbContextFactoryHelpers.GetDbContextOptions(), new DatabaseSeeder(new CryptographySuite(new PasswordHasher())), new LoggerFactory().CreateLogger());
+ public SqlServerDatabaseContext CreateDbContext(string[] args)
+ {
+ using (var loggerFactory = LoggerFactory.Create(builder => { }))
+ {
+ return new SqlServerDatabaseContext(new DbContextOptions(), DesignTimeDbContextFactoryHelpers.GetDbContextOptions(), new DatabaseSeeder(new CryptographySuite(new PasswordHasher())), loggerFactory.CreateLogger());
+ }
+ }
}
}
diff --git a/src/Tgstation.Server.Host/Tgstation.Server.Host.csproj b/src/Tgstation.Server.Host/Tgstation.Server.Host.csproj
index e7b5bfac57..f42cd119c1 100644
--- a/src/Tgstation.Server.Host/Tgstation.Server.Host.csproj
+++ b/src/Tgstation.Server.Host/Tgstation.Server.Host.csproj
@@ -39,10 +39,14 @@
-
+
+
+
+
+