Django初始数据库迁移操作,安装pymysql.

给Django配置mysql数据库

现在settings中将DATABASES重新设置

DATABASES = {
‘default‘: {
‘ENGINE‘: ‘django.db.backends.mysql‘,
‘NAME‘: "databasename",
‘PASSWORD‘: "password",
‘USER‘:"rusername",
‘HOST‘: "localhost",
‘PORT‘: 3306,

‘OPTIONS‘: { "init_command": "SET default_storage_engine=‘INNODB‘"

} #设定mysql数据库的初始引擎,也可以加入其他字段,如 chaeset等
}
}

执行python manage.py makemigrations时,报错:

‘Did you install mysqlclient or MySQL-python?‘ % e
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named ‘MySQLdb‘.
Did you install mysqlclient or MySQL-python?

经过上网搜索得知,MySQLdb并不支持Python3.5,因此只能找别的类库代替。

解决方法:

使用pymysql代替MySQLdb,因为两者的用法完全一致,步骤:

1. PIP install pymysql

2. 执行成功后,打开__init__.py,添加如下:

import pymysql
pymysql.install_as_MySQLdb()

3. 重新执行python manage.py makemigrations,成功。

实际上按照给出的提示是要安装mysqlclient的,但是在pip下安装会报错,要去下载执行文件,我比较懒,就换一个方式吧.后面如果出错,再来更新,嘿嘿嘿.

接着执行python3 mange.py migrate,报错如下:

WARNINGS:
?: (mysql.W002) MySQL Strict Mode is not set for database connection ‘default‘
    HINT: MySQL‘s Strict Mode fixes many data integrity problems in MySQL, such as data truncation upon insertion, by escalating warnings into errors. It is strongly recommended you activate it.

说明当前使用的mysql数据库不是严格模式.严格模式下:

1.不支持对not null字段插入null值

2.不支持对自增长字段插入""值

3.不支持text字段有默认值

需要进行数据库的改动,以防止bug出现.

在settings中,数据库设置下面插入:

DATABASES[‘default‘][‘OPTIONS‘][‘init_command‘] = "SET sql_mode=‘STRICT_TRANS_TABLES‘"

原文地址:https://www.cnblogs.com/xiujin/p/9693794.html

时间: 2024-11-11 00:56:31

Django初始数据库迁移操作,安装pymysql.的相关文章

mysql数据库----python操作mysql ------pymysql和SQLAchemy

本篇对于Python操作MySQL主要使用两种方式: 原生模块 pymsql ORM框架 SQLAchemy 一.pymysql pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同. 下载安装 pip3 install pymysql 使用操作 1.执行SQL 1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 import pymysql 4 5 # 创建连接 6 conn = pymysql.connect(

Django ORM 数据库常用操作

Django是一个开放源代码的Web应用框架,由Python写成.采用了MTV的框架模式,即模型M,视图V和模版T.它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是CMS(内容管理系统)软件.并于2005年7月在BSD许可证下发布.这套框架是以比利时的吉普赛爵士吉他手Django Reinhardt来命名的. -- 百度百科 设置数据库字段映射 from django.db import models import sqlite3 class User(models.

linux下 mysql5.5数据库迁移操作

背景: mysql从window平台移植到linux环境下出现的各种问题,此版本是5.5,切记数据库移植时mysql版本要保持一致. 1.mysql在window上是不区分大小写 1) whereis mysql 2) cd /usr/share/mysql  ls -all 3) 拷贝一个.cnf文件到/etc/并改名为my.cnf,并在my.cnf文件[mysqld]下添加如下内容 character_set_server=utf8 init_connect='SET NAMES utf8'

mysql数据库连接状态,不要做修改数据库表结构的操作;数据库迁移操作;

在开发过程中,python的flask框架使用sqlalmysql连接mysql数据库. 在程序连接数据量过程中,不要修改数据表的结构.比如在连接状态中使用下面的软件修改数据表结构,这个软件立即就会卡死,这个使用停止flask的连接,就可以从卡死状态中恢复过来,正常执行下去. 如图,通过Dump SQL File可以把数据库的表结构和数据拷贝下来,或者只要表结构.然后通过Execute SQL File,把这些数据表及里面的数据导入到另一个数据库 原文地址:https://www.cnblogs

数据库迁移

数据库迁移操作 准备环境 web01: 安装lnmp+博客 db01: 安装mysql服务 nfs01: 安装nfs服务 cd /home/oldboy/tools/ scp -rp mysql-5.6.34-linux-glibc2.5-x86_64.tar.gz 172.16.1.51:/home/oldboy/tools/ 第一个里程碑-部署mysql服务(db01) 01.下载解压软件程序 # 解压mysql二进制包软件程序 cd /home/oldboy/tools tar xf my

Django配置数据库读写分离

对网站的数据库作读写分离(Read/Write Splitting)可以提高性能,在Django中对此提供了支持,下面我们来简单看一下.注意,还需要运维人员作数据库的读写分离和数据同步. 配置数据库 我们知道在Django项目的settings中,可以配置数据库,除了默认的数据库,我在下面又加了一个db2.因为是演示,我这里用的是默认的SQLite,如果希望用MySQL,看这里 . DATABASES = { 'default': { 'ENGINE': 'django.db.backends.

Flask框架之数据库迁移集成到Script中

1. 安装migrate模块 pip install flask_migrate 2. 创建manage对象,并接管app和db对象 manager = Manager(app, db) 3. 将数据库迁移操作集成到script中 manager.add_command('db', MigrateCommand) 案例代码: from flask import Flask from flask_sqlalchemy import SQLAlchemy from flask_script impo

基于Python3.6使用Django框架连接mysql数据库的驱动模块安装解决办法

解决办法1 使用PyMySQL模块,直接使用pip install pymysql即可. 参考文章:https://www.cnblogs.com/wcwnina/p/8719482.html 原文内容: python3不支持MySQLdb,可用pymysql代替.cmd安装pymysql:pip install pymysql. 在项目文件夹下的_init_.py添加如下代码即可. import pymysql pymysql.install_as_MySQLdb() 然后在Terminal中

[Doctrine Migrations] 数据库迁移组件的深入解析一:安装与使用

场景分析 团队开发中,每个开发人员对于数据库都修改都必须手动记录,上线时需要人工整理,运维成本极高.而且在多个开发者之间数据结构同步也是很大的问题.Doctrine Migrations组件把数据库变更加入到代码中和代码一起进行版本管理,很好的解决了上述问题. Doctrine Migrations是基于Doctrine DBAL组件的数据迁移组件.集成于Laravel,Symfony等主流框架.大概可以分为两种方式进行迁移,即版本管理方式和diff方式. 版本管理:把数据库变更写入到代码中,来