美文网首页
MySQL的datatime(6)格式问题

MySQL的datatime(6)格式问题

作者: jojo1313 | 来源:发表于2020-05-29 11:08 被阅读0次

    背景:master 5.6.46 + django 1.11.29
    slave 5.1.7

    问题:slave 导入master sql文件时,报语法错误,指向datatime(6)列有语法错误

    原因: mysql 5.1.7版本不支持datatime(6)字段,即不支持毫秒级时间精度

    解决方案:

    1. 升级 slave 版本到 5.6.46

    2.修改master datatime(6)为datatime类型, 方法如下:
    修改models.py 配置DateTimeField(default = timezone.now),
    drop table auth_,django_
    python manage.py makemigrations
    python manage.py migrate 重新创建表

    import django.utils.timezone as timezone
    from django.db.backends.mysql.base import DatabaseFeatures # 关键设置
    DatabaseFeatures.supports_microsecond_precision = False # 关键设置
    
     class AuthUser(models.Model):
               ...
        date_joined = models.DateTimeField(default = timezone.now)
        last_login = models.DateTimeField(blank=True, null=True,default = timezone.now)
    
    image.png
    image.png

    修改前:


    image.png
    修改后:
    image.png

    相关文章

      网友评论

          本文标题:MySQL的datatime(6)格式问题

          本文链接:https://www.haomeiwen.com/subject/mwkxzhtx.html