我有一个CakePHP / MySQL应用程序,可以在各种表格中存储作业数据。
作业数据用于最终生成报告。但是,我需要实施一种创建报告 版本的方法,以便在作业数据被修改后新的报告 < em> version 已创建。它必须保留所有版本的副本。
我认为我会通过与作业表相关联的报告表来接近这一点,该表采用作业数据的XML快照。每当生成报告时,它都会创建一个新的报告记录,其中包含唯一ID和关联的作业ID以及此时数据的XML“快照”。
这是一种明智的做法吗?我不愿意将xml快照存储为文件,因为将生成数千个报告,并且我希望将数据保持在数据库中。
最后,我如何才能最好地将XML保存到数据库?我正在使用XML Helper生成数据的XML,但无法保存。我确定这是由于生成的XML的大小(我正在测试的作业生成600多行XML,当手动插入数据库时,它会以41KiB进行...)。
我是否完全以错误的方式进行此操作?感觉是正确的,因为我需要存储数据的“快照”,然后可以在以后的处理中使用XML Parser。 JSON是否更实用(我对于如何使用JSON数据或者它是否具有结构化......我不是太熟悉了。)
如果有人可以帮我解决这个问题,我将非常感激。
更新:我设法通过在保存功能中生成XML然后将其添加到已保存的$ data数组来保存XML。但它仍然存储起来。有关更有效的方法的任何想法吗?