DJango配置mysql数据库以及数据库迁移
DJango配置mysql数据库以及数据库迁移一.Django 配置MySQL数据库在settings.py中配置
数据库结构迁移Python3不支持MySQLdb,可用pymysql代替。 1.首先,在Python虚拟环境下安装pymysql:pip install pymysql。 2.然后,在项目文件夹下的_init_.py(实际上也可以添加到settings.py中,如上。)添加如下代码即可。
3.再者,在Terminal中执行数据库迁移命令:
二.数据迁移把SQLite数据导入到MySQL中之前我们默认使用的是SQLite数据库,我们开发完成之后,里面有许多数据。如果我们想转换成Mysql数据库,那我们先得把旧数据从SQLite导出,然后再导入到新的Mysql数据库里去。 1、SQLite导出数据导出之前,我们先确保settins.py数据库配置选项那里,还是使用的是SQLite配置,如果已经修改了,请先修改回来:
然后在CMD命令行里输入:
这样就将数据导出到Django项目根目录下的data.json文件。 2、MySQL导入数据同样,先将Django的数据库配置改为MySQL的:
然后在CMD命令行里输入:
注意: 确保Mysql用户表里为空的,如果之前有迁移过数据到Mysql,有可能会出错。注意出错的时候所报的错误信息。如果提示有重复主键,那需要先删掉数据。这些数据是在给MySQL数据库应用迁移文件的时候产生的,一般是content_type相关的表。 进入到MySQL,执行如下的SQL语句:
删除数据之后,再执行一次导入命令即可。基本上,导入不了数据都是MySQL存在数据导致的。 3、加载时区表另外,有可能所安装的MySQL没有加载时区表。这个可能会导致filter对日期的查询有问题。Django官方文档也指出这个问题。MySQL官网也有对应处理方法:加载时区表 Linux/Mac解决方法都很简单。windows系统要先下载一个sql文件:timezone_2018e_posix_sql.zip 下载完成之后,解压得到一个sql文件,再执行cmd命令导入该文件即可:
4、MySQL数据到PostgreSQL操作很简单:
到PostgreSQL对应的配置中:
三.不同APP之间的数据库迁移1.生成模型文件
2.将模型文件导入到app当中创建app
3.将模型导入创建的app中 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |