terraform state mv [old name] [new name]
I'd much rather explicitly state when real resources are renamed than have terraform diffing my code and guessing whether I wanted to rename it or I am actually trying to recreate something. I can only imagine the headaches that would happen with a tool trying to track changes to infra as well as changes to code without explicitly tying infra state to version control somehow.
See: https://en.wikipedia.org/wiki/List_of_grammar_schools_in_Eng...