tgstation-server  4.4.0
The /tg/station 13 server suite
IDatabaseContext.cs
Go to the documentation of this file.
1 using Microsoft.EntityFrameworkCore;
2 using Microsoft.Extensions.Logging;
3 using System;
4 using System.Threading;
5 using System.Threading.Tasks;
8 
9 namespace Tgstation.Server.Host.Database
10 {
14  public interface IDatabaseContext
15  {
20 
24  IDatabaseCollection<Instance> Instances { get; }
25 
29  IDatabaseCollection<InstanceUser> InstanceUsers { get; }
30 
35 
39  IDatabaseCollection<CompileJob> CompileJobs { get; }
40 
44  IDatabaseCollection<RevisionInformation> RevisionInformations { get; }
45 
50 
55 
59  IDatabaseCollection<ChatBot> ChatBots { get; }
60 
64  IDatabaseCollection<ChatChannel> ChatChannels { get; }
65 
70 
74  IDatabaseCollection<ReattachInformation> ReattachInformations { get; }
75 
81  Task Save(CancellationToken cancellationToken);
82 
88  Task Drop(CancellationToken cancellationToken);
89 
96  Task<bool> Migrate(ILogger<DatabaseContext> logger, CancellationToken cancellationToken);
97 
106  Task SchemaDowngradeForServerVersion(
107  ILogger<DatabaseContext> logger,
108  Version version,
109  DatabaseType currentDatabaseType,
110  CancellationToken cancellationToken);
111  }
112 }
DatabaseType
Type of database to user
Definition: DatabaseType.cs:6