Add database merging feature (#906)

* add initial implementation of dbmerger

merges of user tables that have overlapping data is still unimplemented. otherwise, merging of all other tables has been implemented.

* add handling for when user feed tables overlap

* fix sqlite dll path in dbmerger build

* fix accidentally inserting rows with nonunique pks

* fix merger not handling missing columns well

* fix sort not reassigning pks

* sync merger with master

* woopsies

* w-woops again

* reset database version in config to let vrcx generate missing fields

* move to net 9 and move build folder to new build folder

* remove unneeded build configurations

* support avatar time in the merge

* csproj pains

---------

Co-authored-by: Natsumi <cmcooper123@hotmail.com>
This commit is contained in:
Kyler Li
2025-04-28 03:17:12 -07:00
committed by GitHub
parent 1e3d19cfbc
commit 8ccc8af710
8 changed files with 993 additions and 5 deletions

View File

@@ -5,7 +5,7 @@
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>net9-windows10.0.19041.0</TargetFramework>
<Platforms>x64</Platforms>
<Platform>x64</Platform>
<UseWindowsForms>true</UseWindowsForms>
<ApplicationRevision>0</ApplicationRevision>
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
@@ -46,7 +46,7 @@
<StartupObject />
<CefSharpExcludeSubProcessExe>true</CefSharpExcludeSubProcessExe>
</PropertyGroup>
<PropertyGroup Condition="'$(PlatformTarget)' == 'x64'">
<PropertyGroup>
<RuntimeIdentifier Condition="'$(RuntimeIdentifier)' == ''">win-x64</RuntimeIdentifier>
<SelfContained Condition="'$(SelfContained)' == ''">false</SelfContained>
</PropertyGroup>
@@ -59,6 +59,11 @@
<CleanSQLiteInteropFiles>false</CleanSQLiteInteropFiles>
<CollectSQLiteInteropFiles>false</CollectSQLiteInteropFiles>
</PropertyGroup>
<ItemGroup>
<Compile Remove="DBMerger\**" />
<EmbeddedResource Remove="DBMerger\**" />
<None Remove="DBMerger\**" />
</ItemGroup>
<ItemGroup>
<Reference Include="Blake2Sharp">
<HintPath>libs\Blake2Sharp.dll</HintPath>