This is tricky. Some components of customizations are tenant-specific, but since tenants share the same database, database schema changes are changed for all tenants, as well as .aspx changes.
You can read more here.
In order to work around this, you can make code changes specific to a tenant by using something like the following:
public static bool IsActive() => PX.Data.Update.PXInstanceHelper.CurrentCompany == 2;
(where CurrentCompany == tenantID)
If this is added to a cache extension, fields added to the screen using this extension should be hidden when the cache extension is disabled. Similarly, when added to a graph extension, it will disable the modified business logic from running in that tenant.
In order to work around this, you can make code changes specific to a tenant by using something like the following:
public static bool IsActive() => PX.Data.Update.PXInstanceHelper.CurrentCompany == 2;
(where CurrentCompany == tenantID)
If this is added to a cache extension, fields added to the screen using this extension should be hidden when the cache extension is disabled. Similarly, when added to a graph extension, it will disable the modified business logic from running in that tenant.
With this when I need to move that same change to the next Live tenant, I need to remove this validation right?
If the goal is simply to keep it out of production until testing has been completed, then yes.