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

相关推荐
海奥华28 小时前
SQLEXPLAIN 详解
数据库·mysql
情深不寿3178 小时前
MySQL————数据库基础
数据库·mysql
程序新视界9 小时前
如何选择合适的数据库?PostgreSQL与MySQL各项对比
数据库·mysql·postgresql
dongchen。11 小时前
MySQL第一次作业
数据库·mysql
重生之我是Java开发战士13 小时前
【MySQL】数据库基础
数据库·mysql
ChuHsiang13 小时前
【剑指MySQL】数据库基础(1)
数据库·mysql
九皇叔叔13 小时前
Docker 镜像维护指南:从配置优化到 MySQL 实战运行
mysql·adb·docker
muxin-始终如一13 小时前
MySQL分区分表实现方法详解
数据库·mysql·adb
奥尔特星云大使13 小时前
mysql高可用架构之MHA部署(三)——故障转移后邮件告警配置(保姆级)
mysql·dba·高可用·mha·邮件告警
disanleya14 小时前
MySQL时间格式转换,时间数据混乱不堪如何彻底重构?
数据库·mysql·重构