Mysql Django 1.8迁移”;“表已存在”;

Mysql Django 1.8迁移”;“表已存在”;,mysql,django,database,migration,database-migration,Mysql,Django,Database,Migration,Database Migration,我一直在努力制作一个自动部署系统,以使更新django站点变得更容易,它基本上是有效的,但现在我的数据库更改非常糟糕。我让自动部署运行“makemigrations”“migrate”然后运行“syncdb” 我遇到的问题是,当我运行migrate时,它告诉我我的表已经存在,无法创建。以前的答案是运行“migrate--false”,但如果我这样做,它似乎认为一切都是最新的。问题是,我运行了“makemigrations”或“migrate”,它表示没有检测到任何更改(即使我的数据库中缺少一列)

我一直在努力制作一个自动部署系统,以使更新django站点变得更容易,它基本上是有效的,但现在我的数据库更改非常糟糕。我让自动部署运行“makemigrations”“migrate”然后运行“syncdb”

我遇到的问题是,当我运行migrate时,它告诉我我的表已经存在,无法创建。以前的答案是运行“migrate--false”,但如果我这样做,它似乎认为一切都是最新的。问题是,我运行了“makemigrations”或“migrate”,它表示没有检测到任何更改(即使我的数据库中缺少一列)。我试图运行“sqlall”来确定它认为数据库应该是什么,它告诉我我有挂起的迁移。所以我试着运行“迁移”,它说不存在迁移

我如何管理这个?将来,我应该为数据库迁移做些什么来解决这些问题


谢谢

我解决了这个问题。这个问题源于对Django移民如何运作的误解。此外,根据注释,
syncdb
不再是manage.py中的命令


最初的问题是,我一直在使用不同的数据库进行部署,然后我切换了,我的迁移与我的开发数据库不同步,因此我必须清除数据库和迁移,然后重新开始使用我的数据。然后我在本地机器上运行
makemigrations
,然后迁移到那里(对于我的devdb)。然后我上传到服务器,让fab脚本在服务器生产数据库上运行migrate,而不调用
makemigrations
。这似乎解决了这个问题。

我解决了这个问题。这个问题源于对Django移民如何运作的误解。此外,根据注释,
syncdb
不再是manage.py中的命令


最初的问题是,我一直在使用不同的数据库进行部署,然后我切换了,我的迁移与我的开发数据库不同步,因此我必须清除数据库和迁移,然后重新开始使用我的数据。然后我在本地机器上运行
makemigrations
,然后迁移到那里(对于我的devdb)。然后我上传到服务器,让fab脚本在服务器生产数据库上运行migrate,而不调用
makemigrations
。这似乎解决了这个问题。

如果您使用的是1.8,我很确定没有syncdb。您是否可以检查应用程序中的迁移文件夹,查看是否存在类似0001_something.py的文件您不应该在服务器上运行
makemigrations
。检查。如果您使用的是1.8,我很确定没有syncdb。您是否可以检查应用程序中的迁移文件夹,查看是否存在类似0001_something.py的文件您不应该在服务器上运行
makemigrations
。检查一下。