Flush the Redis cache if you're using Redis. After upgrading to the new Magento version, did you restart Varnish? If not, restart it.
If the issue persists, check if the file for Magento\InventoryIndexer\Model\StockIndexTableNameResolverInterface interface, which is located in vendor/magento/module-inventory-indexer/Model/StockIndexTableNameResolverInterface.php is existed or not. If not, you should make another deployment.
You mentioned "copied a Magento 2.4.6 to the live server", looks like you copy all the files manually, isn't it? If so, you should use a deployment tool such as Capistrano or PHP Deployer to deploy automatically without downtime.
If you still want to do your change manually, and the file mentioned above does not exist, you can enable the maintenance mode and reinstall the Magento packages and recompile code. To achieve that, take the following steps:
- Enable the maintenance mode:
bin/magento maintenance:enable
- Backup the composer.lock file and the vendor directory. After that, remove the vendor directory (alternatively, you can rename it to backup it:
mv vendor vendor_backup
):
cp composer.lock composer.lock.bak && cp -r vendor vendor_backup && rm -rf vendor
- Reinstall composer packages:
composer install
- Remove generated and cache directories and flush cache:
rm -rf generated/*/* var/cache/ var/page_cache/ && bin/magento cache:flush
- Recompile code:
bin/magento setup:di:compile
- Disable the maintenance mode:
bin/magento maintenance:disable
- Do reindex:
bin/magento indexer:reindex