• Django数据库sqlite转mysql


    网上的 百度出来结果十个有九个坑,还有一个半吊子。幸亏备份了,弄出了一个真实可行的

    ## 1.添加mysql做为slave

    ```ini
    DATABASES = {
    'default': {
    'ENGINE': 'django.db.backends.sqlite3',
    'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    },
    'slave': {
    'ENGINE': 'django.db.backends.mysql',
    'NAME': 'devops',
    'USER': 'root',
    'PASSWORD': 'ddddddd',
    'HOST': '192.168.0.2',
    'PORT': '3306',
    }
    }
    ```

    ## 2.安装mysqlclient

    ```shell
    pip install mysqlclient
    ```

    ## 3.迁移数据库到slave

    ```bash
    python manage.py migrate --database slave
    ```

    ## 4.确认是否有遗漏再执行一边

    ```bash
    python manage.py makemigrations
    python manage.py migrate
    python manage.py migrate --database slave
    ```

    ## 5.导出数据

    ```python
    python manage.py dumpdata --database default > dumpdata20200305.json
    ```

    ## 6.导入数据到mysql

    ```python
    python manage.py loaddata --database slave dumpdata20200305.json
    ```

    mac下会出现一个报错

    第一行会有一个当前目录的字符串,删掉第一就可以了

    ## 7. 修改配置文件settings.py

    将配置修改default为mysql

    ```ini
    DATABASES = {
    'default': {
    'ENGINE': 'django.db.backends.mysql',
    'NAME': 'devops',
    'USER': 'root',
    'PASSWORD': 'xxxx',
    'HOST': 'xxx',
    'PORT': '3306',
    }
    }
    ```

    ## 8.访问测试

    the object is not found
  • 相关阅读:
    java面试题
    [gcc]: unknown (64bit) [FAIL]
    一种基于Spring的java程序常量管理思路
    if (! +"\v1")的解释
    jQuery validation plugin
    oscache缓存技术
    基于jQuery开发的javascript模板引擎jTemplates
    编写好的CSS代码的13个忠告
    对 HTTP 304 的理解
    Hibernate N+1 问题
  • 原文地址:https://www.cnblogs.com/sunofwe/p/12419208.html
Copyright © 2020-2023  润新知