private static async Task _initializeAsync() { if (_initialized) { return; } _initialized = true; // Backup the database before performing any operations on it. _backupDatabase(); using (SQLiteConnection conn = await GetConnectionAsync()) { await conn.OpenAsync(); // Load database updater config. string config_fname = System.IO.Path.Combine(Global.DatabaseUpdatesDirectory, "config.json"); DatabaseUpdaterConfig config = new DatabaseUpdaterConfig(); if (System.IO.File.Exists(config_fname)) { config = JsonConvert.DeserializeObject <DatabaseUpdaterConfig>(System.IO.File.ReadAllText(config_fname)); } else if (Bot.OurFoodChainBot.Instance != null) { await Bot.OurFoodChainBot.Instance.LogAsync(Discord.LogSeverity.Warning, "Database", "Database updates config not found"); } config.UpdatesDirectory = Global.DatabaseUpdatesDirectory; await new DatabaseUpdater(conn, config).UpdateToLatestVersionAsync(); conn.Close(); } }
public DatabaseUpdater(SQLiteConnection conn, DatabaseUpdaterConfig config) { Connection = conn; Config = config; }