【问题标题】:Django zappa error: InconsistentMigrationHistory: Migration admin.0001_initial is applied before its dependency accounts.0001_initial onDjango zappa 错误:InconsistentMigrationHistory: Migration admin.0001_initial 在其依赖accounts.0001_initial 之前应用
【发布时间】:2021-08-24 21:31:38
【问题描述】:

所以,我在 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 上做同样的事情,还是应该做其他事情?

【问题讨论】:

  • 如果您要销毁并重建您的表,为什么不销毁并重建您的迁移文件?

标签: django aws-lambda amazon-rds zappa python-zappa


【解决方案1】:

我使用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')"

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

【讨论】:

    猜你喜欢
    • 2021-04-10
    • 2021-04-21
    • 2021-04-20
    • 2021-08-11
    • 2018-10-06
    • 1970-01-01
    • 2018-12-07
    • 2016-12-24
    • 2020-05-10
    相关资源
    最近更新 更多