这里是使用django的dumpdata和loaddata命令迁移数据到新数据库。
一、首先停止django服务,从旧数据库导出所有数据;
python dumpdata -o
二、创建新的数据库,并修改django配置,比如下面从sqlite切换到postgresql;
#
DATABASES = {
#'default': {
# 'ENGINE': '.sqlite3',
# 'NAME': (BASE_DIR, 'old_database.sqlite3'),
#}
'default': {
'ENGINE': '.postgresql_psycopg2',
'NAME': 'new_database',
'USER': 'postgres',
'PASSWORD': 'password',
'HOST': '127.0.0.1',
'PORT': 5432,
}
}
三、给新项目迁移数据表
python migrate
不需要使用 python migrate --run-syncdb
–run-syncdb 只是多了一个 Creating tables 的步骤。
四、由于导入时候ContentType可能会导致冲突,所以需要先删除ContentType
python shell
>>> from import ContentType
>>> ().delete()
五、最后导入旧数据库的数据即可完成。
python loaddata