django - Django zappa 错误:InconsistentMigrationHistory: Migration admin.0001_initial 在其依赖accounts.0001_initial 之前应用
问题描述
所以,我在 AWS Lambda 上使用 Zappa。我刚刚在我的项目中添加了一个自定义用户模型,并尝试迁移到 AWS 上的 RDS,Zappa 给了我以下错误:
InconsistentMigrationHistory: Migration admin.0001_initial is applied before its dependency accounts.0001_initial on database 'default'.
现在,我知道如果我在本地服务器上遇到此错误,我会这样做:
python manage.py migrate admin zero
python manage.py migrate auth zero
python manage.py migrate contenttypes zero
python manage.py migrate sessions zero
然后我会运行迁移以销毁他们的表并再次重新创建它们(请参阅此有用的 SO 帖子)
但是,如果我跑
zappa manage dev migrate
在那之后,我得到
InconsistentMigrationHistory: Migration admin.0001_initial is applied before its dependency accounts.0001_initial on database
我应该如何使用 Zappa 在 AWS RDS 上做同样的事情,还是应该做其他事情?
解决方案
我使用zappa-django-utils 命令简单地破坏了表:
zappa manage prod drop_pg_db
zappa manage prod create_pg_db
棘手的部分是创建一个新的管理员用户。由于我用帐户模型替换了身份验证模型,因此我不得不使用原始 python 命令:
zappa invoke --raw dev "from django.accounts.models import User; User.objects.create_superuser('admin@yourdomain.com', 'ohsosecretepass')"
通常,应该在任何迁移之前实现自定义用户模型,因为很多事情都与用户模型相关。因此,尽管我试图避免它,但丢弃所有桌子是不可避免的。
推荐阅读
- python - 从数组内的numpy数组到单行
- reactjs - 将嵌套的 GraphQL 查询拉入 react-table
- c++ - 没有外部库的 C++ Int 到任何日期
- assembly - 为什么我不能执行二进制文件?
- mirth - 使用 nhapi 添加非标准段
- haskell - 如何为包含函数的新类型构建 fmap
- graphql - 禁用游乐场时,阿波罗服务器返回 GET 查询丢失
- c# - Razor 页面 - 具有多个处理程序/服务器端验证的表单在提交时未填充 asp-validation-for 标记
- curl - 基准测试 curl vs wget vs python-request 库
- javascript - 未在 Testcafe 中运行的测试出现错误“TypeError: Cannot read property 'split' of undefined”