如何在 django 中创建丢失的数据库表?

Posted

技术标签:

【中文标题】如何在 django 中创建丢失的数据库表?【英文标题】:How to create missing DB tables in django? 【发布时间】:2016-09-10 21:24:31 【问题描述】:

我正在尝试将项目从一台机器转移到另一台机器。这个项目包含一个巨大的日志数据库表。它太庞大了。所以我通过 phpmyadmin 导出和导入了除此之外的所有 db 表。

不,如果我运行 migrate 命令,我希望 django 会创建所有丢失的东西。但事实并非如此。

如何让 django 检查并创建缺失的数据库表?

我错过了什么,为什么不这样做?我觉得旧的同步数据库完成了这项工作。但是新的 --run-syncdb 没有。

感谢您的帮助。

【问题讨论】:

用 python manage.py migrate --list ***.com/questions/29683494/…检查你的数据库状态 您复制了您的项目并需要一个新的分贝? 【参考方案1】:

当您导出数据并在该数据包的其他数据库部分重新导入数据时,将包含django_migrations 表。这基本上是 django 成功执行的所有迁移的日志。

由于您只留下了根据您的日志表,那应该是您的架构中唯一缺少的表。在django_migrations 中找到与该表对应的条目并删除它们。然后再次运行./manage.py migrate,表就创建好了。

【讨论】:

听起来很有道理。非常感谢我明天检查。谢谢。

以上是关于如何在 django 中创建丢失的数据库表?的主要内容,如果未能解决你的问题,请参考以下文章

django多数据库迁移:如何防止在每个数据库中创建django默认表

Django-paypal 不在 DB 中创建 IPN 表 - 如何修复?

Django如何在数据库中创建表

如何在 Django 中创建不区分大小写的数据库索引?

每次在 django 中创建另一行时创建一行

如何以编程方式在 Django 中创建数据库视图?