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. 同步 生成 插件对应的数据库表
放开第二步中注释掉的插件,并执行对应的安装命令。大功告成
1 |
1 | python manage.py makemigrations app名称 |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 【.NET】调用本地 Deepseek 模型
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· DeepSeek “源神”启动!「GitHub 热点速览」
· 上周热点回顾(2.17-2.23)