如何准备Django迁移?

dan*_*ast 5 python django database-migration

在Django中迁移数据涉及两个步骤:

python manage.py makemigrations
python manage.py migrate
Run Code Online (Sandbox Code Playgroud)

据我所知,第一步是准备迁移,这些迁移是特定于数据库的。也就是说,根据要使用的数据库后端,您将获得不同的迁移。

如果我在开发中使用sqlite,并且在生产中使用postgres,这是否意味着我在开发中准备的迁移将不适用于生产机器?

ram*_*esh 2

makemigrations 命令创建的迁移不是特定于数据库的,它们可以在任何数据库上运行。

python manage.py sqlmigrate # which displays the SQL statements for a migration
Run Code Online (Sandbox Code Playgroud)

来自 Django 文档:

迁移将以相同的方式在相同的数据集上运行并产生一致的结果,这意味着您在开发和暂存中看到的内容与在相同情况下在生产中发生的情况完全相同

是的,来自 @Klaus D. 评论,我不认为 Django 有迁移依赖于数据库的信息。