Earilier我在没有任何框架的情况下使用PHP,面向服务的Web应用程序,我必须存储大量要存储的数据,这些数据可以轻松删除,并且可以轻松进行备份;所以我编写了代码,每个月将相同的数据存储在同一架构的不同表中,这样就可以轻松运行drop table查询或创建表的备份而不是在整个表上运行查询。
+------------------+---------------------------+
| data_2014_01_01 | will store data of jan |
| data_2014_02_01 | will store data of feb |
| data_2014_03_01 | will store data of march |
+------------------+---------------------------+
等等。
由于我正在将代码迁移到django,我怎样才能完成同样的事情,因为django ORM为每个数据项创建一个表,因此删除了无用的旧记录,现在只能识别按时间戳占用太多时间并且备份也很痛苦,因为表的大小非常大。
请在这里告诉我一些技巧,欢迎任何想法。
提前致谢。
答案 0 :(得分:3)
这是一个选项。
由于您要迁移到Django,我建议您遵循最佳做法并立即开始使用South:
South是一种提供一致,易用和的工具 Django应用程序的数据库无关迁移。
此外,我将所有表格合并为一个带有时间戳字段的表格 - 这样,应用程序就可以更轻松地与您的数据“对话”。
然后,除了设置South
之外,您还需要执行一次步骤:
data_%Y_%m_%d
表中的数据移动到您的架构迁移表中新创建的表中。运行数据迁移。另外看一下django-parting项目 - 它看起来不太成熟并且可以使用,但至少看看他们如何为每个模型管理多个表(基本上它有点{{1} }“魔术”)。
希望有所帮助。