zoukankan      html  css  js  c++  java
  • 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()
    
    1. 重新执行python manage.py makemigrations,成功。

    实际上按照给出的提示是要安装mysqlclient的,但是在pip下安装会报错,要去下载执行文件,但是实际上pymysql更加好用,算是进化版吧.

    接着执行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.py中,数据库设置下面插入:

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

    所以目前关于settings.py中的数据库全部设置如下:

    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等
    }
    }
    DATABASES['default']['OPTIONS']['init_command'] = "SET sql_mode='STRICT_TRANS_TABLES'"
    
    春有百花秋有月, 夏有凉风冬有雪. 若无闲事挂心头, 便是人间好时节. 春花生厌秋月影, 夏风无常冬雪凌. 不染浊尘性本空, 无心如是利有情.
  • 相关阅读:
    jsp第四次
    jsp第二次作业
    jsp第一次作业
    软件测试课堂练习
    11.11日
    10.28
    10.25
    10.21
    jsp第七周作业
    JSP第六周作业
  • 原文地址:https://www.cnblogs.com/xiujin/p/11280771.html
Copyright © 2011-2022 走看看