Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add database merging feature #906

Draft
wants to merge 8 commits into
base: master
Choose a base branch
from
Draft

Conversation

loukylor
Copy link
Contributor

@loukylor loukylor commented Sep 8, 2024

This pr fixes #784 and possibly more.

Additions

  • Adds an additional CLI program that can merge old and new databases
    • it merges all database tables when given an old and new database
    • except specific user feed tables, where user input may be required
    • it will optionally replace the new database's config with the old database's config
    • it automatically creates a backup before merging, so data loss risk is minimal

Known Issues

  • The warning for when user input is needed references a wiki page that doesn't currently exist
  • The merging process was explicitly designed around a "new" and "old" database. Databases that operated at the same time using the same accounts will not merge as cleanly as an old database that was abandoned. This especially holds true for any feed tables (the feed tab in the app). Cleanly merging these tables on two databases that were created in parallel is simply impossible, and for that reason it is still not recommended to use VRCX on two machines at the same time.

Usage

The merger can be downloaded from the releases tab in my fork.
The merger is like any command line tool. It cannot be used while VRCX is running. It takes the following args:

Arg Required? Description
-n, --new-db-path <new-db-path> Yes The path of the new DB to merge the old onto.
-o, --old-db-path <new-db-path> Yes The path of the old DB to merge into the new.
-d, -v, --debug, --verbose No Add debug information to the output. [default: False]
--import-config No Imports the config values from the old database. This will override the config in the new database. [default: False]
--version No Show version information
-?, -h, --help No Show help and usage information

Bugs

Please report bugs either through issues on this fork of VRCX (not the main repo) or contact loukylor in the VRCX Discord.

Tasks:

  • Create functioning prerelease
  • Create command line argument in VRCX so the merger can be used from VRCX
  • Bug test and make sure there are no errors

@DubyaDude
Copy link
Contributor

Okay, this is epic

@regalialong
Copy link
Contributor

chat is this real

@plautus2

This comment was marked as off-topic.

@Myrkie
Copy link
Contributor

Myrkie commented Oct 31, 2024

what is a pull request>? THis is getting ridicuklous. They can litereally put a small warning on it for users to know it is risky to use bulk moderation features, that;'s it, thenm every user can indivi9dually decide if he want to make use of it or not. Jeeez. This is chickenhood and incompetence at its finest!

please keep pull requests on topic, you can learn about what they are here

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Feature Request] Add ability to merge 2 vrcx databases
5 participants