From b3057362beef5e535713cf279871f5c43f092cbd Mon Sep 17 00:00:00 2001 From: nek0 Date: Thu, 4 Jun 2020 08:33:30 +0200 Subject: [PATCH] create new empty database if not exists --- Program.cs | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/Program.cs b/Program.cs index 4c70bfd..2f1d4df 100644 --- a/Program.cs +++ b/Program.cs @@ -1,7 +1,9 @@ using System; +using System.IO; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; +using Microsoft.Data.Sqlite; using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Hosting; @@ -13,9 +15,37 @@ namespace BuecherwurmAPI { public static void Main(string[] args) { + if (!File.Exists("LongWormMemory.db")) + { + CreateNewEmptyDB(); + MakeImports(); + } CreateHostBuilder(args).Build().Run(); } + private static void MakeImports() + { + throw new NotImplementedException(); + } + + private static void CreateNewEmptyDB() + { + File.Create("LongWormMemory.db"); + var connectionBuilder = new SqliteConnectionStringBuilder {DataSource = "LongWormMemory.db"}; + var connection = new SqliteConnection(connectionBuilder.ConnectionString); + connection.Open(); + using (var command = connection.CreateCommand()) + { + command.CommandText = "CREATE TABLE Lends (Id INTEGER NOT NULL PRIMARY KEY, ItemId INTEGER NOT NULL, ReturnDate TEXT NOT NULL, Customer TEXT NOT NULL, Returned INTEGER NOT NULL)"; + command.ExecuteNonQuery(); + command.CommandText = "CREATE TABLE Items (ItemId INTEGER NOT NULL PRIMARY KEY, BookId INTEGER NOT NULL)"; + command.ExecuteNonQuery(); + command.CommandText = "CREATE TABLE Books (ProductId INTEGER PRIMARY KEY, Name TEXT, Author TEXT, Country TEXT, Link TEXT, Language TEXT, Pages INTEGER, Year INTEGER, Category INTEGER, ImageLink TEXT, LendTime INTEGER, LendType INTEGER)"; + command.ExecuteNonQuery(); + } + } + + public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .ConfigureWebHostDefaults(webBuilder =>