Django 1.7 内置迁移与南迁移?

     2023-02-24     292

关键词:

【中文标题】Django 1.7 内置迁移与南迁移?【英文标题】:Django 1.7 built in migrations vs South migrations? 【发布时间】:2014-12-21 16:38:45 【问题描述】:

我已经在问题中检查了这个问题,但找不到任何关于 Django 构建迁移的简单解释,或者 - 它们足够可靠吗?

我使用 Django 1.7 开始了新项目,但在迁移构建时遇到了很多问题。在南方很正常的简单事情在那个版本中引起了我的例外。例如,将 charfield 更改为外键会引发无法将字段类型转换为 int 的错误,这是正常的,这就是我进行迁移的原因。 正如我知道在我以前的项目中我必须与 South 做的事情一样,我强烈怀疑 django 迁移将处理此类操作?例如自定义字段自省,将外键转换为多态,抽象类更改为字段,以及许多其他... 所以我的问题是:

Django 1.7 内置迁移是否足够可靠? 复杂的标准化数据库结构?

附:至少和南一样强大(如果问题出在我使用它们的过程中,我会处理它,但我不想陷入我的项目已准备好,数据库有很多记录,我必须改变一些东西的情况这需要删除表和其他有风险的操作)。

【问题讨论】:

【参考方案1】:

您必须知道 Django Core 迁移是由 South 的主要贡献者 Andrew Godwin 编写的。

他的话是:

“South 四年前的设计达到了严重的极限,是时候将迁移支持添加到 Django 本身了”

所以,请理解 Django Core Migration 不是一个“并行”迁移系统,而是一个新系统,并且应该是一个更好的系统。我不太了解南方,但如果您在核心迁移方面遇到错误,可能是因为它的工作方式与南方不同,有些事情需要以不同的方式实现。我不认为是因为这个新工具不可靠。

当然,作为一个新工具,你必须小心错误(更新到 1.7.1),但 Django 是一个经过广泛测试且非常稳定的框架。

【讨论】:

django 1.7 迁移——如何清除所有迁移并从头开始?

】django1.7迁移——如何清除所有迁移并从头开始?【英文标题】:django1.7migrations--howdoIclearallmigrationsandstartoverfromscratch?【发布时间】:2014-12-0415:55:19【问题描述】:因此,我目前正在快速迭代django应用程序,并且不断调整models.py... 查看详情

在迁移中获取模型 ContentType - Django 1.7

】在迁移中获取模型ContentType-Django1.7【英文标题】:GettingmodelContentTypeinmigration-Django1.7【发布时间】:2014-12-1509:18:02【问题描述】:我有一个更新一些权限的数据迁移。我知道迁移中的权限存在一些已知问题,并且我能够通过在... 查看详情

从 South 迁移到 Django 1.7 迁移:可交换依赖项

】从South迁移到Django1.7迁移:可交换依赖项【英文标题】:MovingfromSouthtoDjango1.7migrations:swappabledependency【发布时间】:2015-04-1209:04:06【问题描述】:我有一个用Django1.6编写的项目,它使用南迁移,我试图将它移到Django1.7。所以我... 查看详情

Django 1.7 迁移

】Django1.7迁移【英文标题】:Django1.7Migrations【发布时间】:2014-12-1311:07:22【问题描述】:我正在使用django1.7,我刚刚添加了一个自定义用户模型。当我运行python3manage.pymakemigrations或python3manage.pymigrate时,我得到错误:TypeError:__ini... 查看详情

Django 1.7 - 创建初始迁移

】Django1.7-创建初始迁移【英文标题】:Django1.7-createinitialmigration【发布时间】:2015-06-2720:39:32【问题描述】:根据theDjangodocs,如果我想为应用创建初始迁移,我应该这样做:$pythonmanage.pymakemigrationsmy_app但是,如果我在我的项目... 查看详情

恢复 Django 1.7 RemoveField 迁移

】恢复Django1.7RemoveField迁移【英文标题】:RevertDjango1.7RemoveFieldmigration【发布时间】:2015-05-0620:33:11【问题描述】:如果我有一个不可为空的模型字段,请将其删除并创建一个迁移,该迁移将变得不可逆:考虑以下模型:classFoo(mo... 查看详情

Django 1.7 迁移不会重新创建删除的表,为啥?

】Django1.7迁移不会重新创建删除的表,为啥?【英文标题】:Django1.7migrationswon\'trecreateadroppedtable,why?Django1.7迁移不会重新创建删除的表,为什么?【发布时间】:2014-12-3001:11:26【问题描述】:使用Django1.7迁移。我不小心在我的数... 查看详情

Django 1.7 迁移挂起

】Django1.7迁移挂起【英文标题】:Django1.7Migrationshanging【发布时间】:2015-10-3107:15:30【问题描述】:我正在尝试申请django迁移。它变得很好(它很小,它只是将CharField添加到两个不同的模型。但是当我运行实际迁移时它会挂起(... 查看详情

在 Django 1.7 迁移之前运行 South 迁移的推荐方法是啥?

】在Django1.7迁移之前运行South迁移的推荐方法是啥?【英文标题】:WhatistherecommendedwaytorunSouthmigrationsbeforeDjango1.7migrations?在Django1.7迁移之前运行South迁移的推荐方法是什么?【发布时间】:2014-10-2919:34:28【问题描述】:我有几个... 查看详情

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

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

Django 1.7 中的迁移

】Django1.7中的迁移【英文标题】:MigrationsinDjango1.7【发布时间】:2014-05-2821:30:10【问题描述】:我目前参与了一个使用Django1.7开发版本的项目。我想使用“makemigrations”将我在模型中所做的更改(添加字段、删除模型等)传播到... 查看详情

为啥 django 1.7 会为字段选择的变化创建迁移?

】为啥django1.7会为字段选择的变化创建迁移?【英文标题】:Whydoesdjango1.7createsmigrationsforchangesinfieldchoices?为什么django1.7会为字段选择的变化创建迁移?【发布时间】:2014-11-2623:00:36【问题描述】:我在1.7版中观察到了这种行为... 查看详情

Django 1.7 和 1.8 之间迁移行为的变化

】Django1.7和1.8之间迁移行为的变化【英文标题】:ChangeinmigrationbehaviourbetweenDjango1.7&1.8【发布时间】:2019-10-2017:57:51【问题描述】:我正在从Django1.7迁移旧的Django应用程序。我目前的方法基本上是升级一个版本然后运行​​mana... 查看详情

无法将 Django 从 1.7 迁移到 1.8

】无法将Django从1.7迁移到1.8【英文标题】:CannotmigrateDjangofrom1.7to1.8【发布时间】:2020-09-2923:39:39【问题描述】:将django1.7升级到1.8时(最终目标是将1.4迁移到1.11LTS)我被要求从我的INSTALLED_APPS中删除SOUTH很好,但是我明白了:rai... 查看详情

Django 1.7 - makemigrations 为非托管模型创建迁移

】Django1.7-makemigrations为非托管模型创建迁移【英文标题】:Django1.7-makemigrationscreatingmigrationforunmanagedmodel【发布时间】:2014-12-2406:27:03【问题描述】:我正在我的应用程序中创建一些动态Django模型,除了迁移系统之外,一切似乎... 查看详情

使用 Django 1.7 迁移删除应用程序

】使用Django1.7迁移删除应用程序【英文标题】:RemoveappwithDjango1.7migrations【发布时间】:2015-04-0807:36:37【问题描述】:我想知道使用Django迁移为已删除的应用程序删除所有表的最干净的方法是什么。例如,如果我安装了一个新包... 查看详情

如何取消应用 django 1.7 中的第一次迁移 [重复]

】如何取消应用django1.7中的第一次迁移[重复]【英文标题】:Howtounapplytheveryfirstmigrationindjango1.7[duplicate]【发布时间】:2015-01-2412:42:27【问题描述】:看起来回滚到任何迁移都可以使用:./manage.pymigrate<app><migration_to_go_to>... 查看详情

具有默认值的外键上的 Django 1.7 迁移错误

】具有默认值的外键上的Django1.7迁移错误【英文标题】:Django1.7Migrationerroronforeignkeywithdefaultvalue【发布时间】:2014-11-1922:56:07【问题描述】:我在测试我的应用程序时遇到问题,包括在具有默认值的ForeignKey模型字段上迁移(参... 查看详情