summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/DB.cs17
-rw-r--r--src/Program.cs3
2 files changed, 16 insertions, 4 deletions
diff --git a/src/DB.cs b/src/DB.cs
index a736dc2..cdd8479 100644
--- a/src/DB.cs
+++ b/src/DB.cs
@@ -2,12 +2,25 @@ using Microsoft.EntityFrameworkCore;
namespace BlobBin;
-public class DB : DbContext
+public sealed class DB : DbContext
{
- public DB(DbContextOptions<DB> options) : base(options) { }
+ private bool _created;
+
+ public DB(DbContextOptions<DB> options) : base(options) {
+ if (!_created) {
+ _created = true;
+ Database.EnsureDeleted();
+ Database.EnsureCreated();
+ }
+ }
public DbSet<File> Files { get; set; }
public DbSet<Paste> Pastes { get; set; }
+
+ protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) {
+ optionsBuilder.UseSqlite("data source = main.db");
+ base.OnConfiguring(optionsBuilder);
+ }
}
public class UploadEntityBase
diff --git a/src/Program.cs b/src/Program.cs
index 01ca76b..89a8e02 100644
--- a/src/Program.cs
+++ b/src/Program.cs
@@ -1,10 +1,9 @@
global using BlobBin;
using IOL.Helpers;
-using Microsoft.EntityFrameworkCore;
using File = BlobBin.File;
var builder = WebApplication.CreateBuilder(args);
-builder.Services.AddDbContext<DB>(opt => opt.UseSqlite("data source=main.db"));
+builder.Services.AddDbContext<DB>();
var app = builder.Build();
app.UseFileServer();