What do do when a rigged character need changes?

I’ve rigged a character and noticed that the arm wasn’t right so I opened the mesh and removed it and replaced it with the correct arm. However now my bones have lost the parenting to the arm and I have no idea how to fix this without reparenting the whole model which would reset all wightpaining I’ve done.

I also want to create different characters with this base rig so I’ll have to change it a lot.
Do I need to redo everything whenever I make changes to the mesh?

I would imagine the new arm doesn’t have proper weight painting, but if I’m wrong then just ignore me.
What I do when replacing body parts is use the Data Transfer modifier after the part is put in place. Here is a quick rundown (if you already know all this, sorry):

  1. Select the new arm and add the Data Transfer modifier
    1A. Select “Vertex Data” and select the character model as the source.
    1B. Click “Generate Data Layers”, then “Apply”
  2. With the new arm still selected, shift-select the armature, ctrl+p, select “Armature Deform” (and not any options below that).

If everything went as planned, the arm should now be properly working.

I’ve tried it but when I use ctrl+p “Armature Deform” I get that small window in bot left but the new arm just behaves like a seperate object. I got it working by merging it with crtl+j and then adding wight to it tho.

I had to change the arms again thus I changed one arm and deleted the other then I split it with the p key and removed the parenting from that copy and merged it back in but somehow both arms/bones lost their parenting. How do I do this correctly?