- Порезанный
- 11 августа 2026 г. в 18:10 UTC
- Автор
- Kamo
- Обещать
- b458e58
Три бегуна: BillingGroupRosterMigration создает Billing pay group members - кого группа Это значит заплатить, прежде чем что-то купить. Org id денормализуется с тем чтобы база данных могла обеспечивать соблюдение принципа "член состоит максимум в одной активной группе по выставлению счетов на «Организация» как частичная уникальная. Две группы, которые платят за одного человека, это две Плата за одно место, и ничто другое в схеме не поймает его: Уникальные подписки Участника являются по подписке, а у AccountLicense их нет. **************** Добавляет в аккаунт подписки billing group uid и заменяет трехколонный уникальный двумя частичными уникальными. Расширить его до Четыре столбца не сработают — NULL отличаются внутри уникального индекса. Каждый негрупповой ряд перестает быть ограниченным. BillingPayGroupColumnsMigration добавляет market id, seat limit и статус существующих групп. Они были выставлены на любой счет в соответствии с запросом. Тело перевозили, а консоль отправляла организации, поэтому их аккаунт uid Почти наверняка неправильно. Нет безопасного способа угадать, какая карта была предназначена. Угадывать неправильные счета не тому человеку, поэтому им отказывают в пункте зарядки вместо ремонта. Первый прогон показал, почему важна повторная проверка: оба индекса замены не сработали. 40001 не мог сериализовать доступ, бегун входил в систему и продолжал. DROP старого ограничения тогда преуспел — оставив подписки на аккаунт без какой-либо уникальности, которая строго хуже, чем столкновение это фиксирует. Утверждения DDL теперь повторяются при сбое сериализации, и падение пропускается. полностью, если обе замены не подтверждены.