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
+6
View File
@@ -12,6 +12,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VRCX-Electron", "Dotnet\VRCX-Electron.csproj", "{B0275E4A-FE0F-410A-96F1-1D73DF2535FA}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DBMerger", "DBMerger\DBMerger.csproj", "{9BE1DD2F-CABC-4CF9-A53E-C62923760887}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
@@ -26,6 +28,10 @@ Global
{B0275E4A-FE0F-410A-96F1-1D73DF2535FA}.Debug|x64.Build.0 = Debug|x64
{B0275E4A-FE0F-410A-96F1-1D73DF2535FA}.Release|x64.ActiveCfg = Release|x64
{B0275E4A-FE0F-410A-96F1-1D73DF2535FA}.Release|x64.Build.0 = Release|x64
{9BE1DD2F-CABC-4CF9-A53E-C62923760887}.Debug|x64.ActiveCfg = Debug|Any CPU
{9BE1DD2F-CABC-4CF9-A53E-C62923760887}.Debug|x64.Build.0 = Debug|Any CPU
{9BE1DD2F-CABC-4CF9-A53E-C62923760887}.Release|x64.ActiveCfg = Release|Any CPU
{9BE1DD2F-CABC-4CF9-A53E-C62923760887}.Release|x64.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE