Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django 德扬戈元';不要创建表格_Django_Postgresql_Migration - Fatal编程技术网

Django 德扬戈元';不要创建表格

Django 德扬戈元';不要创建表格,django,postgresql,migration,Django,Postgresql,Migration,我在django有两个不同的数据库。最初,我在辅助数据库中有一个名为cdr的表。我决定去掉第二个数据库,只将cdr表添加到第一个数据库中 我删除了设置文件和整个应用程序中对辅助数据库的引用(我想是全部)。我删除了所有迁移文件,并运行了“刷新迁移” 在运行migrate时,即使postgres数据库中不存在以前位于辅助数据库中的表,也不会创建该表 我一辈子都无法理解,当我将makemigrations函数添加回模型定义并验证它是否在迁移文件中时,为什么makemigrations函数会为表创建迁移

我在django有两个不同的数据库。最初,我在辅助数据库中有一个名为cdr的表。我决定去掉第二个数据库,只将cdr表添加到第一个数据库中

我删除了设置文件和整个应用程序中对辅助数据库的引用(我想是全部)。我删除了所有迁移文件,并运行了“刷新迁移”

在运行migrate时,即使postgres数据库中不存在以前位于辅助数据库中的表,也不会创建该表

我一辈子都无法理解,当我将makemigrations函数添加回模型定义并验证它是否在迁移文件中时,为什么makemigrations函数会为表创建迁移文件。当我运行migrate时,它告诉我没有要应用的迁移

为什么会这样。我已经确认我已经成功了。通过登录第一个数据库并运行\dt,我已确认该模型不在我的postgres数据库中

为什么Django仍然认为这个表仍然存在,以至于它告诉我没有要应用的迁移,即使它在迁移文件中显示了create命令?我甚至删除了辅助数据库,以确保它没有被引用

我怀疑代码不需要向我解释这一点,但如果需要,我会发布。我想我错过了一些简单的东西

为什么Django仍然认为这个数据库仍然存在 它告诉我没有要应用的迁移,即使它显示了创建 迁移文件中的命令

因为django在数据库中维护一个名为django_migrations的表,该表列出了所有已应用的迁移。由于您几乎要重新开始,请清除此表,然后运行迁移


如果这仍然不起作用,并且仍然假设您仍然处于一个新的开始,那么删除所有表(甚至数据库)并再次进行迁移就很简单了。除此之外,如果您有要保存的数据,则需要查看迁移的--false和--false初始选项

谢谢。当我试图清理这张桌子时,我遇到了一系列新问题。出现权限表问题时的内容类型。我从这些表中清除了相关记录,然后我发现了错误,要么说表中已经存在列,要么说表中不存在列。谢天谢地,这些都是在测试服务器上完成的,但是在我的实时服务器上有没有更好的策略来解决这个问题呢?你能告诉我为什么我的问题得到了否定的答案吗?我在Stack上研究答案,阅读文档,并尝试了几个小时的解决方案。同时,我发布了我能发布的最详尽的描述。我想做得更好,请建议我的帖子的问题。不知道,否决票不是我投的。我猜这可能是因为这里有很多与迁移相关的问题,有人认为它是重复的,但太懒了,没有标记为重复的。那么这到底是怎么回事?