Руководства
Схема шлюза БД и автор записи v200.4.1
Как Admin приводит таблицы Cycle к моделям и кто пишется в creator / lastEditor.
Когда схема обновляется сама
Шлюз DatabaseGateway перед работой ORM вызывает SchemaSyncService::ensureSchemaReady().
- Сначала накатываются все ещё не применённые файлы в
devcraft/src/database/migrations/(и при включённом debug тоже). - Если в настройках Admin включён debug — отличия схемы и базы применяются «на лету» (
SyncTables), новые файлы не появляются. - Если debug выключен — файл изменений пишется только при реальном расхождении и сразу накатывается.
Пока модели не менялись, схема берётся из кэша (devcraft/cache/cycle_orm_schema.ser). Повторные запросы не плодят CREATE и не падают с «таблица уже существует».
Где смотреть автора
У наследников AbstractEntity: поля creator и lastEditor.
- При создании оба поля = ID текущего пользователя DLE.
- При правке меняется только
lastEditor. - ID берётся из
$member_id['user_id'], если он больше нуля; иначе пишется0. Флаги входа не важны.
Запись идёт через поведения Cycle (CreatedByHook, UpdatedByHook). Метод beforeSave() автора больше не ставит.