欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-07-12 23:52:09
...

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

上一篇: 配vnc

下一篇: Rails项目数据库迁移