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

相关推荐
花花无缺31 分钟前
MySQL 的存储引擎-InnoDB 和 MyISAM的对比
mysql
苏琢玉33 分钟前
如何让同事自己查数据?写一个零依赖 PHP SQL 查询工具就够了
mysql·php
代码的余温2 小时前
MySQL性能优化:10个关键参数调整指南
数据库·mysql·性能优化
花花无缺3 小时前
mysql常用的基本函数
mysql
柏油4 小时前
可视化 MySQL binlog 监听方案
数据库·后端·mysql
舒一笑4 小时前
Started TttttApplication in 0.257 seconds (没有 Web 依赖导致 JVM 正常退出)
jvm·spring boot·后端
柏油5 小时前
MySQL 字符集 utf8 与 utf8mb4
数据库·后端·mysql
我科绝伦(Huanhuan Zhou)6 小时前
异构数据库兼容力测评:KingbaseES 与 MySQL 的语法・功能・性能全场景验证解析
数据库·mysql
BTU_YC6 小时前
docker compose部署mysql
mysql·adb·docker
搬砖的小熊猫7 小时前
JVM核心原理与实战优化指南
jvm