- Potential fix for null ref error

- Add logging around migration
This commit is contained in:
Infi
2026-04-30 22:27:23 +02:00
parent dcf77e27f2
commit 33c922aaf7
3 changed files with 8 additions and 3 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
<Project Sdk="Dalamud.NET.Sdk/15.0.0">
<PropertyGroup>
<Version>1.35.1</Version>
<Version>1.35.2</Version>
<ImplicitUsings>enable</ImplicitUsings>
</PropertyGroup>
+5
View File
@@ -191,6 +191,7 @@ internal class MessageStore : IDisposable
private void Migrate0()
{
Plugin.Log.Information("Running migration 0: Creating tables");
Connection.Execute(@"
CREATE TABLE IF NOT EXISTS messages (
Id BLOB PRIMARY KEY NOT NULL, -- Guid
@@ -215,6 +216,7 @@ internal class MessageStore : IDisposable
private void Migrate1()
{
Plugin.Log.Information("Running migration 1: Adding Deleted column");
Connection.Execute(@"
-- Migration 1: Add Deleted column
ALTER TABLE messages ADD COLUMN Deleted BOOLEAN NOT NULL DEFAULT false;
@@ -225,6 +227,7 @@ internal class MessageStore : IDisposable
private void Migrate2()
{
Plugin.Log.Information("Running migration 2: Adding Channel generated column");
Connection.Execute(@"
-- Migration 2: Add Channel generated column
ALTER TABLE messages ADD COLUMN Channel INTEGER GENERATED ALWAYS AS (Code & 0x7f) VIRTUAL;
@@ -236,6 +239,7 @@ internal class MessageStore : IDisposable
private void Migrate3()
{
Plugin.Log.Information("Running migration 3: Fix log kinds to fit the new format");
Connection.Execute(@"
-- Migration 3: Fix log kinds to fit the new format
-- Add new ChatType, SourceKind, TargetKind (byte), SortCodeV2
@@ -268,6 +272,7 @@ internal class MessageStore : IDisposable
private void SetMigrationVersion(int version)
{
Plugin.Log.Information($"Setting version {version}");
using var cmd = Connection.CreateCommand();
// Parameters aren't supported for PRAGMA queries, and you can't set the
// version with a pragma_ function.
+2 -2
View File
@@ -131,6 +131,8 @@ public sealed class Plugin : IDalamudPlugin
ExtraChat = new ExtraChat();
FontManager = new FontManager();
MessageManager = new MessageManager(this); // Does it require UI?
ChatLogWindow = new ChatLogWindow(this);
SettingsWindow = new SettingsWindow(this);
DbViewer = new DbViewer(this);
@@ -152,8 +154,6 @@ public sealed class Plugin : IDalamudPlugin
Interface.UiBuilder.DisableCutsceneUiHide = true;
Interface.UiBuilder.DisableGposeUiHide = true;
MessageManager = new MessageManager(this); // requires Ui
// let all the other components register, then initialize commands
Commands.Initialise();