是否可以从数据库而不是从模型进行迁移?

时间:2019-01-14 09:33:15

标签: django database django-models

假设,我们有一个数据库的备份和一个django程序。该程序没有任何迁移。首先,我们还原已创建表和数据的数据库。现在,我们要从可用数据库进行迁移。有可能吗?

2 个答案:

答案 0 :(得分:1)

是的,Django具有here中描述的inspectdb方法。

但是,如果Django应用程序已经定义了与备份数据库相对应的模型,则可以只运行makemigrations(按照@Shafikur的说明进行操作)。

答案 1 :(得分:1)

只需转到相应的数据库终端,并使用

从django_migrations表中删除所有记录。
delete from django_migrations;

转到终端并运行

删除“迁移”文件夹中的所有文件
rm -rf <app>/migrations/

使用命令重置Django内置应用程序(例如admin)的所有迁移

python manage.py migrate --fake

为每个应用创建初始迁移:

python manage.py makemigrations <app>

要创建初始的伪迁移,只需运行

python manage.py migrate --fake-initial