早些时候,我在没有任何框架的情况下使用 PHP,用于面向服务的 Web 应用程序,其中我必须存储大量要存储的数据,这些数据可以轻松删除且易于备份;所以我编写了代码,每个月将相同的数据存储在相同架构的不同表中,这样就可以轻松地运行删除表查询或创建表备份,而不是对整个表运行查询。
+------------------+---------------------------+
| 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 为每个要存储在这里的数据项创建了一个表,因此删除了现在只能识别的无用的旧记录通过时间戳花费太多时间并且备份也很痛苦,因为表的大小非常大。
请在这里给我一些技巧建议,任何想法都会受到欢迎。
提前致谢。
最佳答案
这是一个选项。
由于您要迁移到 Django,我建议遵循最佳实践并开始使用 South马上:
South is a tool to provide consistent, easy-to-use and database-agnostic migrations for Django applications.
此外,我会将您的所有表合并为一个带有时间戳字段的表 - 这样应用程序就可以更轻松地与您的数据“对话”。
然后,除了设置 South
之外,还有一些步骤只需执行一次:
- 创建架构 - 定义模型、创建初始架构迁移并运行它。
- 写一个data migration这会将数据从多个
data_%Y_%m_%d
表移至架构迁移表新创建的表中。运行数据迁移。
另请查看django-parting项目 - 它看起来不是很成熟并且可以使用,但是,至少,看看他们如何管理每个模型的多个表(基本上它有点模型管理器
“魔法”)。
希望有帮助。
关于php - Django 为同一模型创建不同的表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22264667/