我尝试在 CI 中结合 makemigrations 命令的两种行为:
makemigrations --check当需要生成迁移文件时将返回非零makemigrations --dry-run将打印有关未生成的迁移的详细信息makemigrations --check --dry-run行为如下makemigrations --check(自 Django 4.2 起)。如果存在未生成的迁移,我的 CI 脚本需要失败,如果它也描述了丢失的迁移,将会很有帮助。
bash除了涉及这两个选项的一些技巧之外,还有更干净的方法吗?
--check --dry-run对于我也在使用的用例来说,这似乎是一个不幸的回归。
我认为现在没有办法不用跑makemigrations两次就能做到这一点。如果有人只是想要一个快速解决方案,“bash 技巧”将类似于:
./manage.py makemigrations --no-input --dry-run && ./manage.py makemigrations --check
Run Code Online (Sandbox Code Playgroud)
但我更喜欢用来tox运行这些东西,tox.ini你可以简单地使用两个命令,例如:
[testenv]
commands =
python manage.py makemigrations --no-input --dry-run
python manage.py makemigrations --check
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
149 次 |
| 最近记录: |