Django 迁移问题

     2023-02-24     47

关键词:

【中文标题】Django 迁移问题【英文标题】:Django Migration questions 【发布时间】:2021-11-20 21:39:30 【问题描述】:

我是 Django 新手,但每次对模型进行任何更改时,我都需要先执行“python manage.py makemigrations”然后执行“python manage.py migrate”

makemigrations 将在迁移文件夹下创建新文件:

0001_xx
0002_xx
0003_xx
...

我的问题是,这是正确的做法吗?因为如果每次更改数据库模型时,都会创建一个新的迁移文件,最终我可能会拥有很多迁移文件。 那么当我想迁移到生产环境时如何迁移呢?只需运行'python manage.py migrate'?

【问题讨论】:

【参考方案1】:

是的,这是处理迁移文件的正确方法。一开始,看到经过一段时间的开发后创建了很多文件,可能会感到一点不适,但是在应用程序中创建尽可能多的迁移文件是可以的。但是不要尝试删除或更改任何迁移文件,因为每个文件都会跟踪之前完成的迁移。如果它被意外删除,您将在以后的迁移中遇到麻烦。在本地服务器中,您可以轻松摆脱它。但在生产中,大多数时候它可能是一场噩梦。或者,您可以在将代码推送到生产环境时删除除 inti.py 之外的所有迁移文件,但这是不可取的。

【讨论】:

【参考方案2】:

您必须将所有这些迁移上传到生产环境,或者您可以简单地将它们全部删除(不要删除 init.py)并在将代码推送到生产环境之前迁移一次。

【讨论】:

Django 1.7 内置迁移与南迁移?

】Django1.7内置迁移与南迁移?【英文标题】:Django1.7builtinmigrationsvsSouthmigrations?【发布时间】:2014-12-2116:38:45【问题描述】:我已经在问题中检查了这个问题,但找不到任何关于Django构建迁移的简单解释,或者-它们足够可靠吗?... 查看详情

我的旧项目出现 Django 1.7 迁移问题

】我的旧项目出现Django1.7迁移问题【英文标题】:Django1.7Migrationsissuewithmyoldproject【发布时间】:2015-01-0212:54:56【问题描述】:我有一个django1.5应用程序,现在我将它迁移到django1.7并且应用程序在旧数据库上运行良好。但现在我... 查看详情

南迁移和 django 迁移有啥区别?

】南迁移和django迁移有啥区别?【英文标题】:Whatisthedifferencebetweensouthmigrationsanddjangomigrations?南迁移和django迁移有什么区别?【发布时间】:2019-02-1422:54:24【问题描述】:谁能解释一下南迁移和django迁移之间的区别?一个人比... 查看详情

Django 从 2.0 迁移到 2.2(查看权限问题)

】Django从2.0迁移到2.2(查看权限问题)【英文标题】:DjangoMigrationfrom2.0to2.2(ViewPermissionsIssue)【发布时间】:2019-10-1601:04:18【问题描述】:在迁移Django时面临与迁移相关的问题:pythonmanage.pymigratedemo--databasedemo获取与以下相关的错... 查看详情

重新运行 Django 数据迁移

】重新运行Django数据迁移【英文标题】:RerunaDjangodatamigration【发布时间】:2015-11-0409:01:42【问题描述】:如何在Django1.8+上重新运行数据迁移?如果相关,我的迁移编号为0011_my_data_migration.py,是最新的迁移。【问题讨论】:请注... 查看详情

django迁移问题

...迁移脚本需要执行:他会将代码中的迁移脚本和数据库中django_migrations中的迁移脚本进行对比,如果发现数据库中,没有这个迁移脚本,那么就会执行这个迁移脚本。面试题2:migrate做了什么事情:将相关的迁移脚本翻译成SQL语... 查看详情

Django:安全删除旧迁移?

】Django:安全删除旧迁移?【英文标题】:Django:SafelyRemoveOldMigrations?【发布时间】:2020-01-1921:04:36【问题描述】:我有一个Django应用程序,其中包含许多过时的迁移。我想删除旧的迁移并重新开始。该应用有14个不同的“迁移”... 查看详情

Django 重建所有迁移

】Django重建所有迁移【英文标题】:DjangoRebuildallmigrations【发布时间】:2017-04-1001:27:00【问题描述】:我正在Django中构建一个应用程序,它使用实时/使用中的数据库。基本上,由于SQL数据库的应用程序开发经历了一些结构变化,... 查看详情

迁移期间的 Django 问题 - 懒惰的参考

】迁移期间的Django问题-懒惰的参考【英文标题】:Djangoissueduringmigrations-lazyreference【发布时间】:2017-07-2411:29:16【问题描述】:我目前将此模型添加到我的应用中frommainApp.modelsimportmodelPatientclassmodelBodyParts(models.Model):part_name=models.... 查看详情

陷入 django 南迁移 - TransactionManagement 错误

】陷入django南迁移-TransactionManagement错误【英文标题】:Stuckinadjangosouthmigration-TransactionManagementerror【发布时间】:2013-08-2819:41:39【问题描述】:我在应用django南迁移时遇到问题:和往常一样,我在模式迁移成功后执行了migrate命令... 查看详情

Django - 迁移后未创建表

】Django-迁移后未创建表【英文标题】:Django-Tableisnotcreatingaftermigration【发布时间】:2021-01-2101:00:24【问题描述】:我想在DigitalOcean服务器上使用Postgres数据库为我的Django项目添加新功能。问题是,在本地服务器上一切正常,但在... 查看详情

进行迁移时Django中的TransactionManagementError

】进行迁移时Django中的TransactionManagementError【英文标题】:TransactionManagementErrorinDjangowhenmakemigrate【发布时间】:2022-01-0912:14:51【问题描述】:我是编程新手,在Django3.2.9中进行迁移时遇到问题。这是我的代码,models.pyfromdjango.dbimp... 查看详情

Django迁移错误地应用

】Django迁移错误地应用【英文标题】:Djangomigrationswronglyapplying【发布时间】:2021-02-0623:31:45【问题描述】:基本问题我正在开发一个django项目,我在其中使用多个数据库和一个自定义路由器。因此,django应该知道哪个数据库用... 查看详情

Django 的核心迁移工具与 Django 数据迁移的 South

】Django的核心迁移工具与Django数据迁移的South【英文标题】:Django\'sCoreMigrateToolvsSouthforDjangoDataMigrations【发布时间】:2014-01-1203:27:11【问题描述】:我目前没有在我的Django项目中使用迁移,但我打算很快使用。我知道South是事实... 查看详情

如何通过 Django 迁移执行 git 命令?

】如何通过Django迁移执行git命令?【英文标题】:HowtoexecutegitcommandthroughDjangomigration?【发布时间】:2018-05-0518:21:30【问题描述】:我需要在Django迁移中执行git命令。我需要通过Django迁移清除目录的内容,因为我们无法直接访问生... 查看详情

django 如何知道已经运行了哪些迁移?

】django如何知道已经运行了哪些迁移?【英文标题】:Howdoesdjangoknowwhichmigrationshavebeenrun?【发布时间】:2015-02-1009:35:17【问题描述】:django如何知道是否已经应用了迁移?它通常可以解决问题,但如果不正确,我不知道从哪里开... 查看详情

将迁移添加到源代码管理并合并 Django 中的冲突迁移

】将迁移添加到源代码管理并合并Django中的冲突迁移【英文标题】:AddingMigrationstoSourceControlandMergingConflictingMigrationsinDjango【发布时间】:2021-02-2017:13:53【问题描述】:我接手了一个Django项目,发现Git没有跟踪各种应用程序的迁... 查看详情

Django 从 MySQL 迁移到 Postgres

】Django从MySQL迁移到Postgres【英文标题】:DjangomigratefromMySQLtoPostgres【发布时间】:2016-03-3006:09:34【问题描述】:我最近决定从MySQL切换到Postgres,因为我遇到了一些在Postgres上绝不应该成为问题的问题。但是我似乎找不到一个很好... 查看详情