如何在 1.4.2 版本中执行 django syncdb?
How to do django syncdb in version 1.4.2?
如何在django 1.4.2中做syncdb?
即在数据库中有数据,如何在更新数据模式时再次加载模型?
提前致谢
由于您使用的是旧版本的 django
,因此您需要安装 South
模块并为您的应用程序进行迁移。
要安装 South,您可以使用 pip
或 easy_install
pip install South
安装 south 模块后,将其放入 django 项目设置中' INSTALLED_APPS
INSTALLED_APPS = (
...
"south"
)
然后您需要先为您的应用程序进行初始迁移。因此,对于名为 example
的应用程序,您可以 运行 命令:
python manage.py makemigrations example --initial
python manage.py migrate
初始迁移创建后,您对模型进行更改,然后进行新迁移并应用它们。
python manage.py makemigrations example --auto
python manage.py migrate
感谢 Amyth 的提示。
顺便说一句,命令有点不同,我将在此处 post 10 倍测试结果。
使用南方
1. 设置模型
python manage.py schemamigration models --initial
- 必要时转储数据
python manage.py dumpdata -e contenttypes -e auth.Permission --natural > data.json
- syncdb
python manage.py syncdb
python manage.py migrate models
- 将数据加载回数据库
python manage.py loaddata data.json
- 之后,您可以使用
python manage.py schemamigration models --auto
python manage.py migrate models
在您对模型架构进行每次更改后
一些笔记
1. 卸载数据库并重新加载它是必不可少的,因为如果不这样做,第一次迁移会告诉您已经有了那些模型。
2、dumpdata
中的-e contenttypes -e auth.Permission --natural
参数是必须的,否则loaddata时会抛异常。
如何在django 1.4.2中做syncdb? 即在数据库中有数据,如何在更新数据模式时再次加载模型?
提前致谢
由于您使用的是旧版本的 django
,因此您需要安装 South
模块并为您的应用程序进行迁移。
要安装 South,您可以使用 pip
或 easy_install
pip install South
安装 south 模块后,将其放入 django 项目设置中' INSTALLED_APPS
INSTALLED_APPS = (
...
"south"
)
然后您需要先为您的应用程序进行初始迁移。因此,对于名为 example
的应用程序,您可以 运行 命令:
python manage.py makemigrations example --initial
python manage.py migrate
初始迁移创建后,您对模型进行更改,然后进行新迁移并应用它们。
python manage.py makemigrations example --auto
python manage.py migrate
感谢 Amyth 的提示。
顺便说一句,命令有点不同,我将在此处 post 10 倍测试结果。
使用南方
1. 设置模型
python manage.py schemamigration models --initial
- 必要时转储数据
python manage.py dumpdata -e contenttypes -e auth.Permission --natural > data.json
- syncdb
python manage.py syncdb
python manage.py migrate models
- 将数据加载回数据库
python manage.py loaddata data.json
- 之后,您可以使用
python manage.py schemamigration models --auto
python manage.py migrate models
在您对模型架构进行每次更改后
一些笔记
1. 卸载数据库并重新加载它是必不可少的,因为如果不这样做,第一次迁移会告诉您已经有了那些模型。
2、dumpdata
中的-e contenttypes -e auth.Permission --natural
参数是必须的,否则loaddata时会抛异常。