gpt4 book ai didi

python - Django 和缓慢的迁移 : how to quickly get an empty database?

转载 作者:可可西里 更新时间:2023-11-01 07:20:00 24 4
gpt4 key购买 nike

我有一个 Django 1.8 代码库,其中包含 14 个应用程序和约 90 个表。大多数应用都有 1-2 次迁移。

我注意到运行测试套件的大部分时间都花在了应用迁移上。将所有迁移应用到空数据库可能需要超过 5 分钟的时间。

不过,创建数据库并将 SQL 转储导入其中以达到相同的数据库状态需要 1-2 秒。

我们使用标准的manage.py 测试 方法,因此使用--keepdb 可能不是一个选项 对我来说。 (即便如此,每次运行我也必须至少支付一次迁移费用。)

我正在寻找一种根据最新模型定义创建空数据库的方法。例如,进行初始迁移就好像所有其他迁移都不存在 会产生正确的效果。

有没有已知的方法来实现这一点?或者,对于迁移在测试期间花费很长时间的问题,是否有另一种众所周知的方法?

最佳答案

有一个很好的应用叫做 django-test-without-migrations https://pypi.python.org/pypi/django-test-without-migrations/ .它做的正是你想要的:使用最新的模型定义创建数据库。

安装和配置(非常简单)后,您只需运行

python manage.py test --nomigrations

python manage.py test -n

而且它很管用。

关于python - Django 和缓慢的迁移 : how to quickly get an empty database?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33740281/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com