From eb774d6781414067719e3a5e63d95dff30a464f7 Mon Sep 17 00:00:00 2001 From: ivarlovlie Date: Fri, 13 Jan 2023 21:40:32 +0100 Subject: feat: Autocreated sqlite file --- src/DB.cs | 17 +++++++++++++++-- src/Program.cs | 3 +-- 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 options) : base(options) { } + private bool _created; + + public DB(DbContextOptions options) : base(options) { + if (!_created) { + _created = true; + Database.EnsureDeleted(); + Database.EnsureCreated(); + } + } public DbSet Files { get; set; } public DbSet 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(opt => opt.UseSqlite("data source=main.db")); +builder.Services.AddDbContext(); var app = builder.Build(); app.UseFileServer(); -- cgit v1.3