即使运行迁移后,Django 编程错误列也不存在

2024-03-08

I run python manage.py makemigrations我得到: 未检测到任何变化 然后,python manage.py migrate我得到: 无需申请迁移。

然后,我尝试将更改推送到生产中: git推送heroku大师 一切都是最新的

然后,在生产中,我重复该命令: heroku 运行 python manage.py migrate 无需申请迁移。

以防万一,我跑了makemigrations生产中:

heroku run python manage.py makemigrations
No changes detected

为什么然后我得到一个

ProgrammingError at ....

column .... does not exist

“未检测到更改”意味着数据库与代码一致。 我该如何调试这个?¡


我遇到了同样的问题(列不存在)但是当我尝试运行时migrate不与makemigrations(我相信这是同一个问题)

  • 原因:在运行最后一次更改的迁移之前,我删除了迁移文件并将其替换为单个假装初始迁移文件 0001

  • 解决方案:

    1. 删除该应用程序迁移中涉及的表(如果有的话,请考虑备份解决方法)
    2. 从表中删除负责该应用程序迁移的行django_migrations其中记录了迁移,这就是 Django 知道哪些迁移已经应用以及哪些还需要应用的方式。

这是解决这个问题的方法:

  • 以 postgres 用户身份登录(我的用户名为 postgres):

    sudo -i -u postgres

  • 打开 sql 终端并连接到您的数据库:

    psql -d database_name

  • 列出您的表格并找到与该应用程序相关的表格:

    \dt

  • 删除它们(考虑具有关系的删除顺序):

    DROP TABLE tablename ;

  • 列出迁移记录,您将看到应用的迁移分类如下:

编号 |应用程序 |名称 |应用
--+------+--------+---------+

SELECT * FROM django_migrations;
  • 删除该应用程序的迁移行(您可以按 id 或按应用程序删除,应用程序不要忘记“引号”):

    DELETE FROM django_migrations WHERE app='yourapp';

  • 注销并仅运行您的迁移(在您的情况下可能运行 makemigrations ):

    python manage.py migrate --settings=your.settings.module_if_any

注意:在您的情况下,可能不必删除该应用程序的所有表,也不必删除所有迁移,而只需删除导致问题的模型的表。

我希望这能有所帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

即使运行迁移后,Django 编程错误列也不存在 的相关文章

随机推荐

  • 如何将事件分发到(Wildfly)集群中的所有节点?

    当我的进程中运行时间较长的进程的状态时 我想通知集群中的所有节点JavaEE 7WebApp 发生变化 因此每个节点都可以通过 WebSocket 依次通知其客户端该变化 我正在集群环境中使用 Wildfly 10 What JavaEE
  • 使用 JSF 暂时抑制 beanvalidation

    我有一个用户类 其中包含电子邮件地址和密码字段 NotNull Size min 6 Pattern flags Pattern Flag CASE INSENSITIVE regexp private String password nu
  • jquery .animate 不同的速度

    我正在 Jquery 中使用 animate 函数 我有一个使用 marginLeft 滑动的 div 但我也需要它淡入 但我需要它比 marginLeft 效果慢 对于 animate 我似乎只能应用一个速度参数
  • 在reactjs材料ui进度条中显示百分比数字

    I use 线性确定 https material ui com demos progress 我想显示完成了多少进度 就像下图一样 我不认为 Material UI 提供进度条 如上图所示 但是 您可以使用 React Bootstrap
  • 如何将表标记为只读?

    我正在处理 django 站点的迁移 我想将除 django session 表之外的所有表设为只读 我怎样才能做到这一点 REVOKE INSERT UPDATE DELETE TRUNCATE ON ALL TABLES IN SCHE
  • MVC5 Ajax.BeginForm刷新整个页面

    为什么表单发布没有通过 ajax 发生 而是重新加载到新页面 我的 js 包括 我的剃须刀观点 div using Ajax BeginForm Login null new AjaxOptions div
  • 在主程序之前在 lambda 中加载 S3 文件

    我正在编写一个 lambda 函数 需要加载存储在 S3 中的密钥 它不会经常改变 所以我不想每次调用 lambda 函数时都获取它 所以我想在容器旋转时加载它一次 然后在 lambda 容器的生命周期内保留该值 但是 由于异步方法 get
  • haproxy:获取主机名

    我正在尝试获取请求者主机 IP 因为它涉及 haproxy 节点 我的 haproxy 配置如下 frontend www http bind 9000 http request redirect location https fi 914
  • 不知道如何构建任务“路线”

    我无法执行rake routes即使routes rb文件为空 这是输出 rake routes rake aborted Don t know how to build task routes See the list of availa
  • Linux shell:使用 grep 和 fzf 交互式模糊搜索文件中的内容

    我想编写一个 shell 脚本 在特定目录 例如我的 config 文件夹 中的所有文件中搜索模式 使用 grep 我写了以下内容 grep Ril
  • Zend-framework DB:OR 代替 AND 运算符

    有这样的 zend 查询 select this gt table gt select gt where title LIKE searchWord gt where description LIKE searchWord gt where
  • Android Marshmallow (6.0) 上的 vibrate_when_ringing

    在我的代码中我有 Settings System putInt this getContentResolver vibrate when ringing isVibrateWhenRinging 1 0 使用以下权限
  • 为什么 Bootstrap 导航栏总是折叠的? [复制]

    这个问题在这里已经有答案了 我更新到了 ng bootstrap 的 v1 0 beta 现在导航栏总是折叠的 当我单击汉堡包来切换菜单时 它会打开 但垂直而不是水平显示内容 我已经包含了下面的导航代码 和以前一样 此时我无法弄清楚问题是否
  • SDK 3.1:如何判断SDK是否使用iOS6账号?

    如果我在 iOS6 中设置了 Facebook 帐户 但用户已将其关闭 则 SDK 只会向我提供 FBSessionStateClosedLoginFailed 状态 由此 我无法判断用户是否在 iOS 中关闭了我们的服务 情况 1 或者没
  • 特定分支的 Github 拉取请求模板

    是否可以为特定分支分配拉取请求模板 使用查询参数是唯一的解决方法吗 查询参数 https help github com articles about automation for issues and pull requests with
  • leaflet Js自定义控制按钮添加(文本、悬停)

    我跟着这个控制按钮传单教程 http www coffeegnome net control button leaflet 这对我有用 现在我想 当我将鼠标悬停在按钮上时显示一些文本 就像缩放按钮一样 当我将鼠标悬停在按钮上时更改按钮的颜色
  • 强制 goroutine 进入同一线程

    有没有办法确保 goroutine 只在特定的操作系统线程中运行 例如 当 GUI 操作必须在 GUI 线程中运行 但可能有多个 goroutine 运行 GUI 代码时 GOMAXPROCS 1 从技术上讲可以完成这项工作 但这违背了多线
  • Visual Studio 中 F# 的代码折叠

    我发现我倾向于用 F 编写很长的源文件 F 中的一些开源项目也有很长的源文件 例如用于 Excel 的 FPersec 和 F 因此 如果 VS 中可以为 F 提供代码折叠 即使是非常有限的支持 那将会非常有帮助 例如 在模块中 我们可以折
  • Java - Swing 在 JTextArea 中设置文本颜色

    我有一个 JTextArea 其文本设置为一串信息 在这串信息中 我有一个变量 我希望将其颜色为红色 为此 我按如下方式编辑该字符串 Result font color red negativeValue font 我希望这会给出结果 其中
  • 即使运行迁移后,Django 编程错误列也不存在

    I run python manage py makemigrations我得到 未检测到任何变化 然后 python manage py migrate我得到 无需申请迁移 然后 我尝试将更改推送到生产中 git推送heroku大师 一切