在 Django 中将 SQLite3 数据库迁移到 MySQL
Posted
技术标签:
【中文标题】在 Django 中将 SQLite3 数据库迁移到 MySQL【英文标题】:Migrate SQLite3 database to MySQL in Django 【发布时间】:2018-10-11 12:37:09 【问题描述】:我正在使用 Django 1.11 和带有 python3
的 Django-CMS 开发一个网站。最初我使用默认数据库sqlite3
,但是,现在我希望它迁移到mysql
。我在网上找到了几种解决方案,例如
Solution 1
Solution 2
但是,两者都不起作用。对于第一个解决方案,我收到以下错误:
AttributeError: 'Page' object has no attribute '_node_cache'
第二个解决方案出现了这个错误:
Could not load contenttypes.ContentType(pk=1): (1062, "Duplicate entry 'cms-placeholder' for key 'django_content_type_app_label_model_76bd3d3b_uniq'"
在这两个示例中,我都使用了一个空数据库并首先迁移。
有什么帮助吗?
【问题讨论】:
你的mysql数据库连接正确吗? @TheDumbfounds 是的 【参考方案1】:Django 的内容类型变得棘手。尝试在运行迁移后但在加载固定装置之前从数据库中删除 django_content_type
的内容:
python manage.py dbshell
DELETE FROM django_content_type;
如果加载成功,请再次运行迁移以填写 django_content_type
中任何缺失的条目。祝你好运!
【讨论】:
以上是关于在 Django 中将 SQLite3 数据库迁移到 MySQL的主要内容,如果未能解决你的问题,请参考以下文章
Django 迁移:sqlite3 开发数据库、Amazon Elastic Beanstalk 和 Amazon RDS postgresql 实时数据库
在 django 1.8 中将数据从原始用户模型迁移到自定义用户模型
搭建 python 3.5+pycharm 2017.1.3+django 1.12.0 首次 将sqlite3 迁移到mysql