Py学习  »  问与答

请教一个关于migrate的问题

newpythonlearner • 10 年前 • 4777 次点击  

在django dev版本中,有一条命令是 python manage.py migrate 我一直不太理解这条命令到底有什么作用。 不知道哪位大神能不能举个简单的例子。 多谢了。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/1070
文章 [ 4 ]  |  最新文章 10 年前
豪翔天下-weibo
Reply   •   1 楼
豪翔天下-weibo    10 年前

@newpythonlearner 看三楼的答案

younger.x.shen
Reply   •   2 楼
younger.x.shen    10 年前

这些app和数据库没关系,这些app的model和数据库有关系,当运行 migrate 的时候会根据迁移文件进行数据库迁移,当运行 syncdb --all 的时候会根据model进行建立数据库,如果是高版本django,本身提供了迁移功能,只需要确定数据库版本和model版本一致就行,migrate和syncdb工具只是为了方便开发而已

newpythonlearner
Reply   •   3 楼
newpythonlearner    10 年前

@豪翔天下-weibo 在django文档中,创建一个项目之后,就要运行python manage.py migrate, 文档的说法是这条命令可以为INSTALLED_APPS创建数据库表,对这些app起作用 这句话我不是很理解,这条命令怎么就对installedapp起作用了?这些app和数据库有什么关系呢?您能具体跟我解释下吗,不胜感激。卡在这里很久了。

豪翔天下-weibo
Reply   •   4 楼
豪翔天下-weibo    10 年前

makemigrations只是在本地提交更改,只有migrate才真正修改了数据库