【发布时间】:2018-10-16 05:31:50
【问题描述】:
我的 django 项目有几个数据迁移,大约需要 2 小时才能应用。这些数据迁移构成了对原始数据集的一系列转换(清理、提取新字段等)。数据库的最终状态由 15-20 个表组成。
我还有每天导入新数据的代码,这些数据也以相同的格式推送到现有的数据库表中。
我想编写测试以确保数据库的内容在任何给定时刻都是正确的(在应用初始数据迁移之后,在新导入之后等)。测试将检查诸如预期不具有空值的特定列是否确实没有,派生字段的值是否正确等。
我的问题是,django 每次运行测试时都会尝试通过应用所有迁移来创建测试数据库。但是由于数据迁移需要很长时间才能应用,因此运行这样的测试变得非常不切实际。我也不想使用 keepdb 选项,因为我还想在更改原始数据库后运行这些测试。
对于这种情况,我不确定一般最好的 django 惯用方法是什么。
【问题讨论】: