У меня есть приложение CakePHP / MySQL, которое хранит данные Job в различных таблицах.
Данные Job используются для генерации отчетов.Однако мне нужно реализовать способ создания отчета версии , чтобы при изменении данных Job новый Report версия создан.Он должен хранить копию всех созданных версий.
Я подумал, что подойдет к этому, имея таблицу Reports , связанную с таблицей Job , которая делает снимок XMLданных работы.Всякий раз, когда генерируется Report , он создает новую запись Report с уникальным идентификатором и связанным идентификатором задания вместе с «моментальным снимком» XML данных в этой точке.
Это разумный подход?Я не хочу хранить снимок XML в виде файла, так как будет создано несколько тысяч отчетов, и я хотел бы сохранить данные в базе данных.
Наконец, как мне лучше всего сохранить XML в БД?Я использую XML Helper для генерации XML данных, но у меня проблемы с сохранением.Я уверен, что это связано с размером сгенерированного XML (тестируемое задание генерирует более 600 строк XML и имеет размер 41 КБ при ручной вставке в БД ...).
AmЯ поступаю об этом совершенно неправильно?Это кажется правильным, учитывая, что мне нужно хранить «снимки» данных и затем использовать XML Parser для дальнейшей обработки.Будет ли JSON более практичным (я не слишком знаком с тем, как я могу использовать данные JSON, или будет ли он настолько структурированным ...)
Если кто-нибудь может мне помочь в этом, я был бы очень признателен,
ОБНОВЛЕНИЕ: Мне удалось получить его для сохранения XML, сгенерировав его в функции сохранения, а затем добавив его в сохраненный массив $ data.Но это все еще накапливает память.Есть идеи по более эффективному способу сделать это?