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
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值