Use a copy/backups, and record:
- Oqtane version,
- 2sxc version,
- tenant id,
- alias id,
- site id,
- database name.
Since v21.05 was still reported failing, test with the newest package/build you care about, not only 21.05.
- Run these checks in each tenant DB after each scenario:
select SiteId, Name from [Site];
select EntityId as SiteId, SettingName, SettingValue as ZoneId
from [Setting]
where EntityName = 'Site'
and SettingName = 'TsDynDataZoneId';
select z.ZoneId, z.Name as ZoneName,
d.AppId as DefaultAppId,
p.AppId as PrimaryAppId,
count(distinct a.AppId) as AppCount
from [TsDynDataZone] z
left join [TsDynDataApp] a on a.ZoneId = z.ZoneId and a.TransDeletedId is null
left join [TsDynDataApp] d on d.ZoneId = z.ZoneId and d.Name = 'Default' and d.TransDeletedId is null
left join [TsDynDataApp] p on p.ZoneId = z.ZoneId and p.Name = '251c0000-eafe-2792-0001-000000000001' and p.TransDeletedId is null
group by z.ZoneId, z.Name, d.AppId, p.AppId;
The key thing: every TsDynDataZoneId value for a site should exist in TsDynDataZone, and that zone should have a Default app.