Django将mysql数据迁移至postgres
2019-10-29 本文已影响0人
夏2018
- 环境
- mysql 5.7
- django 1.8
- python2.7
- postgres 9.5
先将mysql数据备份,django程序里配置的是mysql数据库,在setting.py文件里可以看到
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'adserver',
'USER': 'root',
'PASSWORD': '123456',
'HOST': 'localhost',
'PORT': '3306',
'OPTIONS': {
'init_command': 'SET default_storage_engine=INNODB',
}
}
}
执行备份语句,adsys为应用名称
python /opt/wisecloud/adserver/manage.py dumpdata adsys> /home/cxq/adsys.json
在postgres创建数据库
createdb -T template0 adserver -U postgres
然后再将代码setting.py里DATABASES改成
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'adserver',
'USER': 'postgres',
'PASSWORD': '123456',
'HOST': '192.168.10.105',
'PORT': '5432',
'OPTIONS': {
'init_command': 'SET storage_engine=INNODB',
}
}
}
然后执行 命令导入数据
python manage.py makemigrations adsys
python manage.py migrate
python manage.py loaddata /home/cxq/adsys.jso