diff --git a/src/CounterDrone.Core/DatabaseManager.cs b/src/CounterDrone.Core/DatabaseManager.cs index 60bc11c..c57bd27 100644 --- a/src/CounterDrone.Core/DatabaseManager.cs +++ b/src/CounterDrone.Core/DatabaseManager.cs @@ -50,17 +50,10 @@ namespace CounterDrone.Core private void SeedDefaultData(SQLiteConnection db) { - db.CreateTable(); - - var defaults = DefaultData.Load(_paths); - var currentVersion = db.Table() - .FirstOrDefault(m => m.Key == "defaultsVersion")?.Value; - - // 版本未变且数据已存在 → 跳过 - if (currentVersion == defaults.Version && db.Table().Count() > 0) + if (db.Table().Count() > 0) return; - // 插入或更新默认数据(按 Id 覆盖,不删除用户自建数据) + var defaults = DefaultData.Load(_paths); foreach (var a in defaults.Ammunition) db.InsertOrReplace(a); foreach (var f in defaults.FireUnits) db.InsertOrReplace(f); foreach (var l in defaults.LaunchPlatforms) db.InsertOrReplace(l); @@ -73,17 +66,12 @@ namespace CounterDrone.Core r.WaypointsJson = System.Text.Json.JsonSerializer.Serialize(r.Waypoints); db.InsertOrReplace(r); } - - db.InsertOrReplace(new MetaEntry { Key = "defaultsVersion", Value = defaults.Version }); } private void SeedDefaultScenarios(SQLiteConnection db) { - var currentVersion = db.Table() - .FirstOrDefault(m => m.Key == "scenariosVersion")?.Value; - - // 版本未变 → 跳过 - if (currentVersion == "5") return; + if (db.Table().Count() > 0) + return; var defaults = DefaultData.Load(_paths); var scenario = new ScenarioService( @@ -93,19 +81,10 @@ namespace CounterDrone.Core new RoutePlanRepository(db), new WaypointRepository(db)); DefaultScenarios.Seed(scenario, defaults); - - db.InsertOrReplace(new MetaEntry { Key = "scenariosVersion", Value = "5" }); } private void CreateMainTables(SQLiteConnection db) { - // 删除旧版本残留表 - db.Execute("DROP TABLE IF EXISTS SimTask"); - db.Execute("DROP TABLE IF EXISTS TargetConfig"); - db.Execute("DROP TABLE IF EXISTS DroneProfile"); - db.Execute("DROP TABLE IF EXISTS EquipmentDeployment"); - db.Execute("DROP TABLE IF EXISTS SimulationReport"); - db.CreateTable(); db.CreateTable(); db.CreateTable(); diff --git a/src/CounterDrone.Core/Models/MetaEntry.cs b/src/CounterDrone.Core/Models/MetaEntry.cs deleted file mode 100644 index eb694f1..0000000 --- a/src/CounterDrone.Core/Models/MetaEntry.cs +++ /dev/null @@ -1,13 +0,0 @@ -using SQLite; - -namespace CounterDrone.Core.Models -{ - /// 键值对元数据表(版本追踪等) - [Table("Meta")] - internal class MetaEntry - { - [PrimaryKey] - public string Key { get; set; } = string.Empty; - public string Value { get; set; } = string.Empty; - } -} diff --git a/src/Unity/Assets/Plugins/CounterDrone.Core/CounterDrone.Core.dll b/src/Unity/Assets/Plugins/CounterDrone.Core/CounterDrone.Core.dll index a75e497..40b897d 100644 Binary files a/src/Unity/Assets/Plugins/CounterDrone.Core/CounterDrone.Core.dll and b/src/Unity/Assets/Plugins/CounterDrone.Core/CounterDrone.Core.dll differ diff --git a/unity_plugins/CounterDrone.Core.dll b/unity_plugins/CounterDrone.Core.dll index a75e497..40b897d 100644 Binary files a/unity_plugins/CounterDrone.Core.dll and b/unity_plugins/CounterDrone.Core.dll differ