CakePHP сохраняет снимок данных в формате XML / JSON - PullRequest
0 голосов
/ 28 июля 2011

У меня есть приложение 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.Но это все еще накапливает память.Есть идеи по более эффективному способу сделать это?

1 Ответ

1 голос
/ 28 июля 2011

Рассматривали ли вы поведение Alkemann Revision ?

Звучит так, как будто это может сделать то, что вы ищете (без использования XML).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...