【问题标题】:Django model not updating with manage.pyDjango 模型未使用 manage.py 更新
【发布时间】:2016-02-20 20:37:37
【问题描述】:

我将 Django 与 Google Appengine 一起使用。我在我的开发环境中修改了我的模型,当我运行 manage.py makemigrationsmanage.py migrate 时,我被告知没有进行任何更改,但是当我运行我的应用程序时,我得到一个 1054 未知列错误。

【问题讨论】:

    标签: django-models


    【解决方案1】:

    这是我在开发环境中解决它的方法 - 我不确定一旦它上线我会在生产环境中做什么。

    1. 我使用 MySQL 彻底清除了数据库

      drop database mydb;

      create database mydb;

    2. 我从目录结构中删除了迁移文件夹

    3. manage.py makemigrations myapp

    4. manage.py migrate myapp

    【讨论】:

      【解决方案2】:

      manage.py migrate检查所有表格是否正确,并与模型匹配。它只是检查迁移日志。

      如果迁移日志显示所有内容都已迁移,那么 django 不会更改数据库——即使某些表是错误的。

      由于这是您的开发环境,您可以简单地删除数据库,重新创建它,然后运行manage.py migrate

      【讨论】:

      • 我如何迁移到实时数据库?
      • 这是个问题。您需要找出问题所在并使用 ALTER TABLE 手动修复它,以使数据库处于已知状态。有一些工具可以找到两个数据库之间的模式差异,因此请检查生产与完全迁移的干净数据库的不同之处
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-13
      • 1970-01-01
      • 2021-03-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多