d33*_*tah 68 python django django-1.8
看看这个:
$ pypy ./manage.py syncdb
/usr/lib64/pypy-2.4.0/site-packages/django/core/management/commands/syncdb.py:24: RemovedInDjango19Warning: The syncdb command will be removed in Django 1.9
warnings.warn("The syncdb command will be removed in Django 1.9", RemovedInDjango19Warning)
(cut)
Run Code Online (Sandbox Code Playgroud)
我跑了一个快速的谷歌搜索,但找不到答案 - 我应该使用什么而不是syncdb?
tja*_*ati 87
syncdb因django 1.7引入的迁移系统而被弃用.
现在,您可以使用跟踪更改makemigrations.这会将您的模型更改转换为python代码,以使它们可以部署到另一个数据库.如果需要进一步修改,则需要应用于数据库,可以使用数据迁移.
创建迁移后,您必须应用它们:migrate.
所以不要使用syncdb你应该使用makemigrations然后migrate.
在模型中更改了某些内容后的开发工作流程:
./manage.py makemigrations
./manage.py migrate
Run Code Online (Sandbox Code Playgroud)
在您的生产系统上:
./manage.py migrate
Run Code Online (Sandbox Code Playgroud)
额外奖励:您不需要migrate为每次更改而竞争.如果您还没有应用多个更改,那么django将以正确的顺序运行它们.
Don*_*ums 51
你绝对应该使用迁移系统.这使您可以跟踪您的更改models.py,并为数据库创建迁移.迁移系统使用这些命令makemigrations来创建迁移和migrate迁移数据库.
如果由于某种原因你需要以相同的方式创建数据库syncdb,那么命令标志会导致migrate以相同的方式工作.如果你真的需要它而且你知道自己在做什么,那么你应该这样做.例如,为您选择的持续集成系统创建一个空数据库.
python manage.py migrate auth
# performs migrations for auth and contenttypes contrib apps
python manage.py migrate --run-syncdb
# creates the rest of the database
Run Code Online (Sandbox Code Playgroud)
在Django 1.9.1上测试过.
您应该使用django 1.7中引入的makemigrations和migrate命令
https://docs.djangoproject.com/en/1.7/topics/migrations/
| 归档时间: |
|
| 查看次数: |
70549 次 |
| 最近记录: |