Правила: миграция (migration.script)
Правила миграции (migration.script)
-
Переименование свойства или действия, либо его перенос в другое пространство имён, меняет каноническое имя элемента. Всякий раз, переименовывая или меняя пространство имён существующего элемента, ассистент ОБЯЗАН отразить это изменение в
migration.scriptв той же правке; иначе платформа считает старое и новое имена несвязанными элементами — старый удаляется, а новый создаётся пустым. -
Для первичного (
DATA) свойства это незаметно разрушительно, и ассистент ОБЯЗАН проявлять особую осторожность. Переименование / смена пространства имён ДОЛЖНЫ быть записаны как изменениеSTORED PROPERTY(старое каноническое имя -> новое каноническое имя), что переименовывает соответствующую колонку в базе данных и сохраняет её данные. Простое изменениеPROPERTYпереносит только настройки политики безопасности и рефлексии, но НЕ сохранённые данные. -
Без записи
STORED PROPERTYпри следующем старте сервера старая колонка переименовывается в_DELETED_плюс её прежнее имя в базе — а если колонка с таким именем уже есть, просто удаляется, — а для нового имени создаётся новая пустая колонка, так что все существующие значения свойства теряются. Ассистент НЕ ДОЛЖЕН переименовывать или переноситьDATAсвойство в другое пространство имён без добавления этой записи. -
Переименование пользовательского класса или его перенос в другое пространство имён ДОЛЖНЫ быть записаны как изменение
CLASS, чтобы сохранить его объекты и их данные. Такое переименование класса может также изменить канонические имена егоDATAсвойств; они не отслеживаются автоматически и ДОЛЖНЫ быть добавлены как отдельные измененияSTORED PROPERTY.