How to Migrate old smart contract to new smart contract upgradeable

I want to migrate old smart contarct to new smartcontract upgradeable.

Any example or tutorial for it?
Some body can help me

Maybe you can have a look at this tutorial:
OpenZeppelin Upgrades: Step by Step Tutorial for Hardhat

@Skyge i was learn it, but only support contract upgradeable.. my contract is not upgradeable, any constructor in my smart contract..

You can find at testnet.bscscan.com/address/0x31d176A37E2EC3bc986f5D3b23CE76e48d963F29

Thanks..