Repository navigation
Rename verified WoW characters that keep the same Blizzard id - #28
Merged
Merged
Conversation
A linked-account refresh updates that row in place, keeps its snapshots and visibility, and records the old name. A second verified row under the new name is combined only for the same account: snapshots are unioned and /played stays the higher counter. Unverified rows, other owners, and a newer lower counter are left for review. Forever stays behind BNET_FOREVER_ACCOUNT. Co-authored-by: Lucrona <Lucrona@users.noreply.github.com>
Lucrona
changed the base branch from
cursor/wow-forever-imports-4791
to
wow-played
November 10, 2026 07:35
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Do not merge. This sits on PR 26 (
4af682d). PR 27 mockups are not part of this branch.When a linked Battle.net refresh sees the same Blizzard character id with a new name or realm, that one verified row is updated in place. Its
/playedsnapshots, imported totals, tracked hours, and visibility stay. The old name and realm are stored, and the WoW character manager showsformerly …. A Blizzard id is copied only from that user's current account list, which already had a nullablewow_characters.bnet_id. This migration does not fill any id.If a second row already exists under the new name, the two are combined only when both are verified to this same linked account. Snapshots are unioned.
/playedbecomes the higher accepted counter, never the sum and never a lower one. The removed row is written towow_character_mergesbefore it is deleted. A second refresh does not add another history row or another merge.These are left as they are and recorded in
wow_played_quarantine: another owner holds the id, the new-name row is not verified, the new name already has a different id, or the newer counter is lower than the older one. An account entry with no Blizzard id is not used to combine rows.Retail runs on the existing character refresh. Forever does not, while
BNET_FOREVER_ACCOUNTis off. Before that flag is turned on, check from this server that the Forever account list returns a stable character id for the same character on two calls, including after a rename, and a different id for a different account. No Battle.net call was made here.Migration
0057_wow_rename_merge.sqlonly creates emptywow_character_namesandwow_character_merges. It does not update, delete, or insert character, snapshot, or hours rows. Re-running it against a database that already has a character leaves that row unchanged.cargo fmt --all,cargo clippy --workspace --all-targets -- -D warnings, andcargo test --workspacepassed. Headbd7e7f1a8171379a09fabd3271583a4c29d8e338. No installer was built.