-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Lost data from data schema #27
Comments
Ну при необходимости, можно сделать и транзакции и валидацию.. Но тут тоже думаю, надо плясать от конкретных юзкейсов. Кстати, когда сильно интересовался данным вопросом (импортом данных в сборку, или деплой контента с дев на продакшн) набредал на кучу решений, но глубоко не копал.. примерный гугл-запрос: drupal 8 content deploy Думаю, если с этим хорошо разобраться , то можно подобрать какое-то готовое адекватное решение для подобных задач. Единстенно что мне во всей этой истории с программным импортом данных в drupal 8 не нравится, это то что данный функционал нужен для кучи всяких "дел": И все его делают по своему. |
@orion76 Немного не то. Это не связано с контентом Что я нашел - В общем большая часть схемы данных содержится в key_value хранилище в виде сериализованных данных. Это и схема данных для таблиц энтити и для филдов и конфиги для вьюса и тд. Код сериализуется , при первом запуске данные читаются с кода, а потом уже с данного хранилища. (такая схема неплохо затрудняет отладку) Если данные там повредились , логика работает некорректно. Я не нашел механизма очистки этого хранилища в документации. В общем можно чистить и самому. Это решает много проблем Надеюсь что вопрос с некорректной схемой данных решил. а так ли это покажет практика |
Хм.. пока на практике с "повреждением" конфигов не сталкивался. Глубоко не копал, но вроде все конфиги "перечитываются" из yml и аннотаций при полной очистке кэша. Про усложнение отладки тоже не до конца понял. В PHPStorm данная функция доступна по Ctrl+Shift+F |
Уже нашел.. Все что пишется в аннотации передается в discover плагин..а тот уже передает лексеру аннотаций а потом это все идет в нужные класс и там уже проверятся чтобы аннотация сопоставлялась нужной переменной класса.. Я имел ввиду что часто данные хранятся в каком-то хранилище, и напрямую из кода не читаются. |
Ну да.. по сути аннотация это тотже конфиг.. который передается в конструктор некоего "плагина", в случае с аннотацией к Entity это плагин ContentEntityType.. А данный плагин предоставляет методы и свойства для доступа к полям аннотации. например данный плагин инжектится в RouteProivider сущности как EntityTypeInterface $entity_type Кстати, оказывается PHPStorm "понимает" аннотации, и по Ctrl+click по @ContentEntityType в аннотации переходит к реализации данного класса `
` |
@orion76 Задался вопросом. Есть ли в 8ке механизм проверки потерянных или сломанных данных в БД.
Пример - когда мы устанавливаем модуль , производим различные импорты и тд. У нас запускается импорт определенных значений из схемы базы данных на бекенде в БД
Это выполняется нетранзакционно, в результате любой возможной ошибки в цепочке скриптов , мы можем получить сломанные данные , неполный импорт и тд.
Можно ли это отслеживать?
Можно ли это чинить автоматически определенным механизмом?
The text was updated successfully, but these errors were encountered: