Определяет форму данных, инварианты, ключи, связи, жизненный цикл и критерии выбора для миграций базы данных. Этот справочник фиксирует границы принятия, поведение при сбоях и наблюдаемые доказательства, оставляя при этом конфигурируемыми ограничения, специфичные для среды.
Статус пакета: справочный контекст готов для проверки человеком. Контракт и тестовые сценарии завершены, но не заявляется, что внедряющая реализация их прошла.
Решение
Для миграций базы данных принять ограничения базы данных плюс один транзакционный путь записи в домене. Выбирать модель исходя из паттернов доступа и инвариантов, с канонической идентичностью, жизненным циклом, транзакцией, миграцией и правилами удаления. Этот пакет является справочным контрактом: внедряющая команда должна выбирать числовые лимиты, провайдеров, юрисдикции и операционных владельцев на основе доказательств в своей собственной среде.
Область применения
- Акторы миграций базы данных, входные и выходные данные, состояния, версии политики или схемы, а также внешне видимые результаты, описанные этим блоком данных.
- Основные и альтернативные интерфейсы, фоновые задачи, кэши, интеграции, поддерживающие пути и доказательства, которые могут задействовать ту же границу.
- Конфигурация, развертывание, восстановление и обязанности по проверке, специфичные для внедрения, необходимые для безопасного применения справочника.
Вне этого блока
- Выбор универсального поставщика, фреймворка, юрисдикции, числового порога, периода хранения или цели уровня сервиса для каждого внедряющего.
- Заявление о том, что упакованные сценарии были выполнены на downstream-реализации или что этот справочник предоставляет юридическую, безопасность или сертификацию доступности.
Контракт
- Кодировать стабильные инварианты с помощью типов, ключей, уникальности, внешних ключей и проверок, а не полагаться только на соглашения вызывающей стороны.
- Определять границы транзакций и конкурентности, включая способы разрешения устаревших записей, дублирующих команд и частичных сбоев.
- Выпускать добавочные схемы и код с двойной совместимостью до разрушительных изменений; обратное заполнение должно быть возобновляемым и наблюдаемым.
- Документировать владение, хранение, удаление, резервное копирование, восстановление и влияние на индексы для каждой существенной записи или связи.
- Отдельно представлять состояния отсутствия, неизвестности, пустоты, ожидания, исторические и удалённые, когда их бизнес-поведение различается.
- Предотвращать дублирование логических связей с помощью канонического ключа и ограничения, а не очищать после конфликтующих записей.
- Использовать фазы расширения, миграции, проверки и сжатия, чтобы старые и новые версии приложений оставались совместимыми в течение окон развертывания и отката.
- Делать обратное заполнение возобновляемым и идемпотентным с ограниченными пакетами, контрольными точками, сверкой, контролем нагрузки и доказательствами до удаления разрушительных ограничений или столбцов.
Руководство по реализации
- Проверять модель на репрезентативных чтениях, записях, массовых операциях, хранении, аудите и восстановлении до принятия деталей хранения.
- Моделировать входы, выходы, акторов, состояния, инварианты, побочные эффекты и доказательства миграций базы данных до выбора фреймворка или поставщика.
- Хранить применимую версию контракта или политики миграций базы данных вместе с материальным состоянием, чтобы миграции, воспроизведение и решения поддержки оставались атрибутируемыми.
- Вводить путь за контролируемым развертыванием, сравнивать ожидаемые и наблюдаемые результаты и сохранять проверенный маршрут восстановления до завершения доказательств внедрения.
Обработка сбоев и меры безопасности
- Сбой ограничения или миграции сохраняет последнее валидное состояние и предоставляет возобновляемую точку восстановления, управляемую оператором.
- Неверное или противоречивое состояние миграций базы данных отклоняется или помещается в карантин; реализация никогда не угадывает значение, расширяющее полномочия или дублирующее эффект.
- Повторы ограничены и используют долговременную идентичность; после исчерпания работы достигают инспектируемого конечного состояния с ответственным владельцем.
Проверка и эксплуатация
- Тестировать ограничения и конкурентные переходы напрямую, затем восстанавливать резервную копию и повторно запускать проверки инвариантов на восстановленных данных.
- Мониторить успех, отказ, ошибку валидации, сбой зависимости, исчерпание повторов и восстановление миграций базы данных по версии контракта без чувствительных измерений полезной нагрузки.
- Повторно запускать парные позитивные и негативные фикстуры после изменений политики, схемы, зависимости, миграции или границ и сохранять полученные доказательства.
Предположения внедрения
- Имена и значения в примере — это конкретная фикстура, а не универсальные значения по умолчанию; внедряющие заменяют их через документированные доказательства и владение.
- Внедряющая система может предоставить аутентифицированную идентичность, долговременные версии операций или записей, ограниченную телеметрию и контролируемый путь для изменений.
Примеры, похожие на исполняемые, в этом пакете являются фикстурами и контрактами приемки. Запустите валидатор коллекции для проверки структуры и метаданных, затем переведите и выполните сценарии в целевом репозитории перед записью доказательств реализации.