首页 > 数据库 >django项目更换数据库

django项目更换数据库

时间:2023-06-16 11:26:11浏览次数:46  
标签:插件 python app migrations django 更换 数据库

背景:

在公司写的django 项目跑的好好的,但是数据库所在的服务器电脑被搞挂了(也不知道被人安装什么了,服务起不起来了,只能重新安装数据库,django项目关联新的数据库),

已有的项目要尽快恢复(原先的数据没办法找回了),只能重新关联一个。这里数据库安装不再赘述(一定一定要装linux系统的数据库, 虽然windows数据库安装更加简单,但是真~滴~卡~

1.  在新数据库服务器上创建一个数据库

注意编码,这里的数据库编码一定要和django配置中的数据库的编码一致

 如果编码不一致,则会出现乱码,在往数据库中插入数据时,会出现字段名乱码的情况,导致插入失败的情况

       会报错pymysql.err.InternalError: (1366, "Incorrect string value: '\\xF0\\x9F\\x8C\\xB8' for column 'headline' at row 1")

配置django的数据库连接配置(这是我的数据库配置)

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'django_test',
        'USER':'root',
        'PASSWORD':"",
        'HOST':"10.89.44.179",
        'PORT':3306,
        'CHARSET':'utf8'
    }
}

 

2.  将所有的migrations文件全部干掉, 并重新产生新的数据库同步文件

 

这个是我的某个app下的migrations目录:

 2.1 首先手动删除所有自己创建的 apps下的\migrations目录,

 2.2 然后对所有自己创建的app, 重新执行,  python manage.py makemigrations app名称,   重新产生各个app的migrations目录,并产生第一次的数据库同步文件

python manage.py makemigrations app01    # 会产生app01下的数据库同步文件

 如果django安装了某些插件(例如django_apscheduler等插件),这里会报错,将引用这些插件的地方先注释掉,再执行上边的步骤,否则会报错

 

3. 将所有的数据库临时文件,同步到数据库

python manage.py migrate 

4. 同步 生成 插件对应的数据库表

放开第二步中注释掉的插件,并执行对应的安装命令。大功告成

 

 


python manage.py makemigrations  app名称

标签:插件,python,app,migrations,django,更换,数据库
From: https://www.cnblogs.com/lhg37927/p/17485085.html

相关文章

  • Serverless云上作战阵型 | 通过云函数使用云数据库快速突破音障
    随着航空塔台的指令在耳边响起,飞行员奔向此次作战行动的两架座机。雷厉风行的爬进驾驶舱,关上舱盖,迅速下载简化操作的Demo包到机载电脑,从容的打开发动机,驾驶战斗机缓缓滑入跑道,后面僚机也已准备就绪。拨动拉杆增大双发转速,两股赤蓝从喷口喷出,战斗机轰鸣着向前冲去,直上云霄。机头向......
  • 网站和数据库迁移备份常用方式
    这两天群里一直有人在聊WordPress的备份插件,博主一直是手动备份个人感觉比用那些插件还是方便多了。下面说下博主的备份步骤。本文目录1. 教程环境2. 教程步骤2.1. 1.网站文件备份2.2. 2.数据库备份2.3. 3.文件传输2.4. 4.网站文件恢复2.5. 5.数据库恢复3. ......
  • 2023.6.15 08.数据库安全管理
    08.数据库安全管理⽤户账户管理访问权限系统访问权限回收在讨论安全时,我们需要考虑整个服务器主机安全(⽽不仅仅是MySQL服务)需要抵御攻击,窃听,扫描,破解等。MySQL对所有连接数据库⽤户进⾏了ACL访问控制,减少服务器被内部不规范操作导致故障。MySQL还⽀持客户端和......
  • Django学习笔记
    1、安装djangopipinstall-Udjango#安装django 2、创建django工程、启动工程创建项目django-adminstartprojectdjango_test #安装完django后会有django-admin命令#django_test是项目名称,创建项目时修改为自己的项目名称即可启动项目项目创建完成后,会在执行命令......
  • 2023.6.15 07.数据库存储过程
    07.数据库存储过程存储过程MySQL存储过程是⼀组预编译的SQL语句,可以在MySQL数据库中定义和存储,并在需要时执⾏。存储过程可以接受参数、执⾏条件判断、循环、异常处理等操作,使得开发⼈员可以把⼀系列操作组合成⼀个可重复使⽤的单元,从⽽提⾼代码的复⽤性和可维护......
  • DM达梦数据库的常用性能诊断语句
    --查询活跃会话SELECT*FROMV$SESSIONSWHERESTATE='ACTIVE';--查询已执行超过2秒的活动SQL。SELECT*FROM(SELECTSESS_ID,SQL_TEXT,DATEDIFF(SS,LAST_RECV_TIME,SYSDATE)Y_EXETIME,SF_GET_SESSION_SQL(SESS_ID)FULLSQL,CLNT_IPFROMV$SESSIONSWH......
  • 数据库复习
    列出下图所示关系满足的所有非平凡的函数依赖(忽略蕴含的函数依赖)。ABCa1b1c1a1b1c2a2b1c1a2b1c3做题之前搞清几个概念:函数依赖:X和Y是关系R的两个属性集合,当任意时刻R中任意两个元组的X属性相同时,则Y也必定相同。我们就说X->Y或Y依赖X平凡&非平凡函数依赖:设一......
  • celery笔记四之在Django中使用celery
    本文首发于公众号:Hunter后端原文链接:celery笔记四之在Django中使用celery这一篇笔记介绍一下如何在Django系统中使用celery。如果是想纯粹使用celery,这一篇笔记可以略过。本篇笔记目录如下:文件配置task定义运行worker1、文件配置我们这里使用前面的创建的hunt......
  • django 设置定时任务
    django设置定时任务,网上百度了好几种方式,试了这两种方式,简单有效:例如,我们要设置最简单的执行场景,5s输出一次helloworld。(1)通过whileTrue设置定时任务importtimedefrun():print("hello,world")if__name__=='__main__':whileTrue:run()......
  • OA系统核心业务逻辑审批流程数据库是如何设计的 leave_application请假内容表 leave_
    OA系统核心业务逻辑审批流程数据库是如何设计的leave_application请假内容表leave_approve抄送人经办人同意拒绝表leave_notice同意/拒绝通知接收人表https://blog.csdn.net/rulaixiong/article/details/124688056officeautomation翻译成中文就是:办公自动化。所以......