django sqlite3迁移到mysql
2015-10-29 00:53
786 查看
最简单的SQLite MySQL迁移
这也是在绝大多数的搜索结果里面出现的,相仿或者是相似的方法。先dump再loadpython ./manage.py dumpdata > data.json
接着再load数据
python ./manage.py loaddata data.json
然而正如作者所说的,不幸的是,这不会工作的。
SQLite3 MySQL Migrate
1.编辑settings.py,添加
slave数据库,
DATABASES = {'default': {...}, 'slave': {...}}
修改后大致如下所示
DATABASES = { "default": { "ENGINE": "django.db.backends.sqlite3", "NAME": "dev.db", "USER": "", "PASSWORD": "", "HOST": "", "PORT": "", }, "slave": { "ENGINE": "django.db.backends.mysql", "NAME": "phodal", "USER": "root", "PASSWORD": "", "HOST": "", "PORT": "", }, }
思想上就是主从同步。
如果使用south就先禁用
2.创建数据库
CREATE DATABASE phodal CHARACTER SET utf8 COLLATE utf8_general_ci;
3.在新的数据库中创建表
python ./manage.py syncdb --database slave
**允许south``,再重复一次
python ./manage.py syncdb --database slave
4.创建
to_slave.py在项目目录
from django.contrib.contenttypes.models import ContentType def run(): def do(Table): if Table is not None: table_objects = Table.objects.all() for i in table_objects: i.save(using='slave') ContentType.objects.using('slave').all().delete() for i in ContentType.objects.all(): do(i.model_class())
如果有任何类型的
signals,需要先禁用它。
5.同步
进入shell
python ./manage.py shell
在python shell中执行
from to_slave import run run()
6.将
slave变为默认的数据库。。
相关文章推荐
- PLSQL Developer
- 简单讲解Go程序中使用MySQL的方法
- 在postgresql中使用limit实现select top x
- shell脚本:监控MySQL服务是否正常
- MySQL整体逻辑架构(一)
- SQLiteOpenHelper的一些用法,关增、删、改、查参数的说明
- django中sql语句的查询
- shell 监控mysql状态
- PL/SQL Developer Oracle Instance Client连接远端数据库
- MySQL 主从复制与读写分离概念及架构分析
- 使用 PL/SQL Developer 连接oracle 时报错解决办法
- The CHECK_POLICY and CHECK_EXPIRATION options cannot be turned OFF when MUST_CHANGE is ON. (Microsoft SQL Server,错误: 15128)
- PostgreSQL数据库 OLTP高并发请求性能优化
- PLSQL Developer报“动态执行表不可访问,本会话的自动统计被禁止”的解决方案
- System.DllNotFoundException Unable to load DLL SQLite.Interop.dll解决办法
- MySQL server has gone away
- PLSQL Developer报“动态执行表不可访问,本会话的自动统计被禁止”的解决方案
- Sqoop导mysql库到Hive中com.mysql.jdbc.RowDataDynamic错误解决
- mysql使用load命令 报错:ERROR 13 (HY000): Can't get stat of '/root/mysql/mysql/data/datatotestproc' (Errco
- mybatis sqlmap中property遇到的问题