【问题标题】:1054, Unknown column in 'field list'1054, '字段列表' 中的未知列
【发布时间】:2018-10-21 02:12:56
【问题描述】:

真正的错误:1054,“字段列表”中的未知列“group_shop_item.promo_discount”

我在 Items 表中添加了一列,运行 makemigrations,然后进行迁移。现在出现了 1054 错误。因为我在 Vagrant Box 上运行它,所以我运行 vagrant up --provision 并删除并替换了 mysql 数据库。该列仍未显示在数据库中。

任何有关说明迁移过程中存在差异的原因的帮助将不胜感激。

models.py

class Item(models.Model):
    obj_manager = ItemManager()
    brand = models.ForeignKey(Brand, on_delete=models.CASCADE)
    promo_discount = models.DecimalField(default=0.00, max_digits=10, 
    decimal_places=2)

【问题讨论】:

  • 您确定数据库已正确同步和迁移吗? django_migrations 表是否反映了您的期望?
  • @Charlie django_migrations 反映表的变化,并运行数据库同步;但是,这些都不起作用。我假设这是我自己的系统,但根据 Briggs Mcknight 在下面的建议,我能够让它工作。

标签: python mysql django vagrant vagrantfile


【解决方案1】:

尝试在 mySQL 中手动添加列,看看是否可行。

【讨论】:

  • 这个其实是暂时有效的,我每次都在用这个;但是,我想知道是否有永久解决此问题的方法?
  • 这可能会使应用程序正常工作,但我同意它不能解决问题。
  • CoderBriggs 是正确的,但这里有更多关于 why 的信息。当迁移失败后未创建列时(发生在我身上),您必须通过数据库命令手动创建列。
猜你喜欢
  • 2020-10-27
  • 1970-01-01
  • 2021-01-26
  • 2014-03-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-08-05
相关资源
最近更新 更多