doccano中的sqlite数据迁移到mysql

  1. 导出数据

    • 在进行任何迁移操作之前,先从现有的 SQLite 数据库中导出数据。

      python manage.py dumpdata > data.json

  2. 更新数据库配置

    • 修改 base.py 文件中的数据库配置,将 SQLite 配置更改为 MySQL 配置。根据你提供的代码片段,确保配置如下:

      DATABASES = {
      "default": {
      "ENGINE": "django.db.backends.mysql",
      "NAME": env("DB_NAME", "django"), # MySQL 数据库名称
      "USER": env("DB_USER", "root"), # MySQL 用户名
      "PASSWORD": env("DB_PASSWORD", "network"), # MySQL 密码
      "HOST": env("DB_HOST", "localhost"), # MySQL 服务器地址
      "PORT": env("DB_PORT", "3306"), # MySQL 端口,通常为 3306
      # "OPTIONS": {
      # "init_command": "SET sql_mode='STRICT_TRANS_TABLES'",
      # "charset": "utf8mb4", # 确保支持多语言字符
      # },
      }
      }

修改 cli.py 文件中的数据库配置:

复制代码
os.environ.setdefault("DATABASE_URL", "mysql://root:network@localhost:3306/django")
  1. 删除旧的迁移文件(可选):

    • 如果迁移文件中包含了特定于 SQLite 的内容,可以选择删除旧的迁移文件并重新生成。

      find . -path "/migrations/.py" -not -name "init.py" -delete
      find . -path "/migrations/.pyc" -delete

  2. 创建新的迁移文件

    • 运行 makemigrations 命令生成新的迁移文件。

      python manage.py makemigrations

  3. 应用迁移

    • 运行 migrate 命令将迁移应用到 MySQL 数据库。

      python manage.py migrate

  4. 导入数据到 MySQL 数据库

    • 使用 loaddata 命令将之前导出的数据导入到 MySQL 数据库。

      python manage.py loaddata data.json

相关推荐
大可门耳1 小时前
Qt的数据库模块介绍,Qt访问SQLite详细示例
数据库·qt·sqlite
荣光波比3 小时前
MySQL数据库(一)—— 数据库基础与MySQL安装管理指南
运维·数据库·mysql·云计算
好多175 小时前
《JVM遇到GC的常见解决办法》
jvm
boonya6 小时前
MySQL与PostgreSQL核心区别对比
数据库·mysql·postgresql
boonya6 小时前
Java垃圾回收机制理论算法及使用
jvm·算法·gc·垃圾收集器·理论
码熔burning6 小时前
从 new 到 GC:一个Java对象的内存分配之旅
java·开发语言·jvm
书院门前细致的苹果6 小时前
MySQL 中的 B+树和 B树的区别详解
数据结构·数据库·mysql
残影飞雪7 小时前
如何在 Debian 12 上安装 MySQL
mysql·adb·debian
沢田纲吉7 小时前
MySQL 学习二:数据库的操作
数据库·后端·mysql
大白的编程日记.8 小时前
【MySQL】表的操作和数据类型
android·数据库·mysql