You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django sqlite3环境下代码迭代保留数据库内容及相关问题咨询

Django + SQLite3 常见问题解答

1. 代码迭代时如何保留数据库现有内容

核心是正确使用Django自带的迁移机制:

  • 所有数据库结构变更全部通过修改models.py实现,不要直接手动修改SQLite3的表结构
  • 每次修改model后执行python manage.py makemigrations生成迁移文件,再执行python manage.py migrate应用迁移,该操作默认只会调整表结构,不会删除已有数据
  • 不要随意删除已经执行过的迁移文件,也不要随便使用migrate --fake等强制重置迁移的操作,避免出现迁移状态混乱导致需要重建数据库
  • 若你要执行删除字段、删除模型类等会涉及数据丢失的操作,Django生成迁移时会主动弹出确认提示,确认前可以先备份数据库文件规避风险

2. 拉取远程代码时如何避免本地数据库被覆盖

  • 首先确保你没有将本地的SQLite3数据库文件(默认名为db.sqlite3)提交到Git仓库,只要该文件不在Git版本控制范围内,执行git pull操作时完全不会触碰本地数据库文件
  • 拉取到远程的迁移文件后,执行migrate操作是基于你本地的数据库结构更新,只会同步表结构变更,不会覆盖已有业务数据

3. 将数据库文件加入.gitignore是否会影响后续数据库结构调整

完全不会,两者没有关联:

  • Django的结构变更依赖的是migrations目录下的迁移文件,这类文件需要正常提交到Git仓库,不要加入.gitignore
  • 你加入.gitignore的只是实际存储数据的SQLite3文件,不影响迁移文件的生成、提交和应用
  • 修改model后,本地生成迁移文件提交到远程,其他协作者拉取迁移文件后执行migrate,就能在各自的本地数据库上同步结构变更,流程完全正常

内容的提问来源于stack exchange,提问作者Francis Kalonji Mbuyamba

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 14:15:04