django项目数据库迁移(sqlite3迁移到mysql)

django项目数据库迁移

我之前用Django框架搭博客网站的时候,一开始图省事,用的自带的sqlite数据库,后来自己买了云服务器,就迁移到了mysql上,当时记得查了很久的文档,才试出来,就记下来了,因为django的版本升级很快,命令有时会有变化,不熟悉文档很容易陷入各种坑中。

1.备份sqlite数据库

先要使用命令备份出数据库。

python manage.py dumpdata photos > all_data.json
2. 修改配置文件settings.py
DATABASES = {
	'default': {
	    # 'ENGINE': 'django.db.backends.sqlite3',
	    # 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
	    'ENGINE': 'django.db.backends.mysql',
	    'NAME': 'myphotos',
	    'USER': 'xxxx',
	    'PASSWORD': 'xxxxx*xxx',
	    'HOST': 'xxxxx.cn',
	    'PORT': '3306',
	}
}
3. 修改__init__.py

在与settings.py同级目录下的__init__.py中写入两行代码:

 import pymysql
 pymysql.install_as_MySQLdb();

当时是为了使用pymysql库而加的脚本。

4. 删除migrations目录

删除原有各app下的migrations文件夹,保留migrations文件夹下的__init__文件

5. 建立mysql数据库

先创建mysql数据库,数据库名称与setting.py中名称保持一致。

6. 同步数据

执行django内置命令,向mysql数据库中同步数据,其实就是导入数据。

python manage.py loaddata all_data.json

你可能感兴趣的:(Python,python,django,mysql,sqlite)