微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Django zappa 错误:InconsistentMigrationHistory:Migration admin.0001_initial 在其依赖帐户之前应用0001_initial on

如何解决Django zappa 错误:InconsistentMigrationHistory:Migration admin.0001_initial 在其依赖帐户之前应用0001_initial on

所以,我在 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

然后我将运行迁移以销毁它们的表并再次重新创建它们(参见 this helpful SO post

但是,如果我跑了

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 command 简单地销毁了表:

zappa manage prod drop_pg_db
zappa manage prod create_pg_db

棘手的部分是创建一个新的管理员用户。由于我用accounts模型替换了auth模型,我不得不使用原始python命令:

zappa invoke --raw dev "from django.accounts.models import User; User.objects.create_superuser('admin@yourdomain.com','ohsosecretepass')"

通常,自定义用户模型应该在任何迁移之前实现,因为很多事情都与用户模型相关。因此,尽管我试图避免它,但删除所有表是不可避免的。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。