Python CommandError:App';书籍';有迁移。应用程序进行迁移时,只能使用sqlmigrate和sqlflush命令
我正在努力学习Python CommandError:App';书籍';有迁移。应用程序进行迁移时,只能使用sqlmigrate和sqlflush命令,python,django,Python,Django,我正在努力学习pythondjango。 我想制作名为books的自助应用程序 当我运行这个命令时 $ python manage.py sqlall books 出现以下错误 CommandError:应用程序“books”已迁移。应用程序进行迁移时,只能使用sqlmigrate和sqlflush命令 我不明白为什么会出现这种错误,这意味着什么?任何帮助都将不胜感激。谢谢在键入python manage.py sqlall--help之后我得到了以下信息: 打印给定模型模块名称的创建表、自定
pythondjango
。
我想制作名为books的自助应用程序
当我运行这个命令时
$ python manage.py sqlall books
出现以下错误
CommandError:应用程序“books”已迁移。应用程序进行迁移时,只能使用sqlmigrate和sqlflush命令
我不明白为什么会出现这种错误,这意味着什么?任何帮助都将不胜感激。谢谢在键入
python manage.py sqlall--help之后
我得到了以下信息:
打印给定模型模块名称的创建表、自定义SQL和创建索引SQL语句。
它打印用于创建这些表的SQL。由于它们已经存在,Django不会打印它们,而是指示使用
sqlmigrate
(打印特定迁移的SQL)或sqlflush
(打印将表返回到初始状态的SQL)。来自Django的文档
django-admin.py sqlall
打印给定对象的CREATE TABLE和初始数据SQL语句
应用程序名称
在从1.7开始的django的更高版本中,您也可以这样做:
python manage.py sqlmigrate appname migration\u name
正如您遵循django教程一样,对于您的案例,这将是
python manage.py sqlmigrate books 0001
这在django 1.8中对我有效。您可以从的文档中阅读更多内容
django管理sqlmigrate
打印命名迁移的SQL。这需要一个活动的数据库连接,它将使用该连接解析约束名称;这意味着您必须针对希望稍后应用SQL的数据库副本生成SQL
出于好奇,哪个dkango版本?我如何找到
迁移名称
?您可以在项目/app/migrations
文件夹中找到您的所有迁移。谢谢。我发现这个命令也是python manage.py migrate--list
仅供参考:在较新版本的django中--list不再起作用。相反,您必须运行“/manage.py showmigrations”