【问题标题】:How to restore a dump database backup for a Django project with existing models and migrations?如何使用现有模型和迁移恢复 Django 项目的转储数据库备份?
【发布时间】:2021-10-30 13:53:45
【问题描述】:

从现有转储设置 mysql 数据库非常简单

# open prompt cd into the directory where the dump is located
# login to mysql
create database mydb
use mydb
source mydb.sql

一切都完成了! 但问题来自 Django。 Django 对尚未从模型和迁移系统创建的现有方案和数据存在问题。而在 Django 中,一切都必须来自模型和迁移。

我完全知道我有这个选项

python manage.py inspectdb > models.py

但这仅适用于使用现有数据库创建空白的新 Django 项目时。

如果我想将现有的 Django 项目运行到另一台机器上并且 Django 项目使用数据库怎么办?该项目已经有一些设置了 manage=false 的现有模型,我不能简单地检查它。如果我在 Django 外部恢复数据库,Django ORM 将不再识别它。

那么对于具有现有模型和迁移的项目,从数据库备份恢复数据库的正确方法是什么?

【问题讨论】:

  • 如果我没看错,问题是:如何转储现有数据库?

标签: python django django-models django-orm mysql-python


【解决方案1】:

如果您要恢复的数据库以前由 django 管理,那么只需通过三步过程恢复数据库,您应该不会遇到任何问题。 Django 的迁移历史以表的形式存储在它管理的任何数据库中。只要该表完成,您的新迁移就应该可以正常工作。

【讨论】:

    猜你喜欢
    • 2016-04-21
    • 2014-04-29
    • 1970-01-01
    • 1970-01-01
    • 2011-05-01
    • 1970-01-01
    • 2020-04-08
    • 1970-01-01
    相关资源
    最近更新 更多