问题标签 [django-south]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
7 回答
37840 浏览

django - 如何将模型从一个 django 应用程序迁移到一个新应用程序中?

我有一个 django 应用程序,里面有四个模型。我现在意识到这些模型之一应该在一个单独的应用程序中。我确实为迁移安装了南,但我认为这不是它可以自动处理的。如何将其中一个模型从旧应用程序迁移到新应用程序中?

另外,请记住,我将需要这是一个可重复的过程,以便我可以迁移生产系统等。

0 投票
1 回答
3373 浏览

django - django 和南迁移有冲突(0007_two ... and 0007_one)怎么解决?

我想在我的 django 项目中使用 south 作为迁移工具,但是在多用户场景中使用 south 时遇到问题:

两个在不同机器上同时工作的开发人员创建了两个具有相同数量的迁移

  • 在第一台电脑上:0007_extend_lizard.py

  • 在第二台电脑上:0007_swap_name_adopter.py

在这种情况下,我可以运行./manage migrate --merge./manage migrate 0006(回滚)并再次 ./manage migrate运行。但是,当我想在其中添加新字段models.py并运行./manage startmigration southdemo --auto时,南会models = {}从上次迁移中获取元数据,并且它缺少第一次迁移中的信息。这样做的结果是创建迁移 0008,并从第一个 0007 再次创建(!!!)更改。

解决这个问题的最佳方法是什么?

目前我正在考虑两种选择:

  • 手动将两个 0007 迁移合并到一个文件中,然后迁移(但有些人必须执行“回滚”)

  • 手动将丢失models = {}的元移动到最后 0007 迁移,然后--auto0008 中的下一个将完美运行。

更好的选择是什么?还是我还缺少其他东西?

0 投票
1 回答
10743 浏览

mysql - 反向工程 mysql 数据库以创建 django 应用程序

我基本上想采用由 php 应用程序(codeigniter 框架)创建和使用的现有 mysql 数据库结构并将其反向工程到 django 应用程序。有什么工具可以做到这一点吗?也许南迁?

0 投票
1 回答
4738 浏览

django - 目前使用 Django “Evolution”,“South”是否更好,值得切换?

我目前正在使用 Django 进化来管理我的产品的数据库进化。它并不完美,但我已经学会忍受它的缺陷。例如,在移出新模式之前,我总是必须复制我的生产数据库进行测试,因为“evolve”命令不能总是演化在几次小型迁移中更改的数据库(在测试中我做了 A->B->C,但 A->C 不会正确进化。)

South会解决所有这些问题吗?学习新工具值得付出努力吗?

0 投票
4 回答
9006 浏览

python - 使用 south 重构具有继承的 Django 模型

我想知道 Django south是否可以进行以下迁移并且仍然保留数据。

前:

我目前有两个应用程序,一个叫电视,一个叫电影,每个都有一个 VideoFile 模型(在这里简化):

电视/models.py:

电影/模型.py:

后:

因为这两个 videofile 对象非常相似,所以我想摆脱重复并在一个名为 media 的单独应用程序中创建一个新模型,该应用程序包含一个通用 VideoFile 类并使用继承来扩展它:

媒体/模型.py:

电视/models.py:

电影/模型.py:

所以我的问题是,我怎样才能用 django-south 完成这个并仍然维护现有数据?

所有这三个应用程序都已由南迁移管理,根据南文档,将模式和数据迁移结合起来是不好的做法,他们建议应该分几步完成。

我认为可以使用像这样的单独迁移来完成(假设 media.VideoFile 已经创建)

  1. 架构迁移以重命名 tv.VideoFile 和 movies.VideoFile 中的所有字段,这些字段将移动到新的 media.VideoFile 模型,可能是 old_name、old_size 等
  2. 架构迁移到 tv.VideoFile 和 movies.VideoFile 以从 media.VideoFile 继承
  3. 将 old_name 复制到 name、old_size 到 size 等的数据迁移
  4. 方案迁移以删除 old_ 字段

在我完成所有这些工作之前,你认为这会奏效吗?有没有更好的办法?

如果您有兴趣,该项目托管在这里:http ://code.google.com/p/medianav/

0 投票
3 回答
686 浏览

django - 如何使用 django 确保可以轻松地在 DVCS 上移动数据库更改

概述

我正在用 django 建立一个网站。我需要允许人们开始添加平面页面,并在管理员中设置一些设置。这些更改应该是确定的,因为该信息来自客户端。但是,我也在开发后端,因此将创建和迁移表。我将这些更改推送到集线器。

工具

django

混帐

postgres

问题

如何确保将在线站点的数据库更改下到我的笔记本电脑上,以及如何将我的数据库更改推送到实时站点,以便我们需要最少的协调?我熟悉 git hooks,所以这个选项正在发挥作用。

附录:

我想我知道可以通过管理员修改哪些表。真的不应该有太多的重叠。当我进一步考虑时,真正的危险在于推送的数据会覆盖他们所做的事情。

谢谢。

0 投票
5 回答
33355 浏览

django - 在 Django 中添加新的自定义权限

我在我的 Django 模型中使用自定义权限,如下所示:

auth_permission问题是当我向列表添加权限时,当我运行 syncdb 时它不会被添加到表中。我究竟做错了什么。如果这有什么不同,我将使用 south 进行数据库迁移。

0 投票
1 回答
1907 浏览

database - 如何在 Django 中使用 South 将数据从一个模型迁移到另一个模型?

我创建了一个 Django 应用程序,它有自己的内部投票系统和一个名为 Vote 的模型来跟踪它。我想将投票系统重构为自己的应用程序,以便我可以重用它。但是,原始应用程序正在生产中,我需要创建一个数据迁移,它将获取所有投票并将它们移植到单独的应用程序中。

如何让两个应用程序参与迁移,以便我可以访问它们的两个模型?不幸的是,原始应用程序和单独的应用程序现在都有一个名为 Vote 的模型,所以我需要注意任何冲突。

0 投票
2 回答
529 浏览

django - 南。迁移整个数据库

如何一步迁移整个数据库?south 的 startmigration 命令只能用于单个应用程序

0 投票
2 回答
1395 浏览

database - “迁移 Django 应用程序”是什么意思?

我一直在思考migrating a Django app最近几天的含义,并听说要使用django-south迁移 Django 应用程序。也许只是缺乏足够的英语技能(因为英语不是我的母语),或者这是您在程序员的生活中遇到的事情之一,它是如此简单,以至于需要天才才能理解它们(起初)。

我已经阅读了我的母语中“迁移”的翻译,阅读了migration维基百科上的定义并阅读了 django-south的“想法”,引用:

使用 South,您安装它,然后为您的一个或多个应用程序提供一些迁移(手动编写它们,或者从您的模型定义中自动生成它们)。当你 syncdb 时,你只会同步没有迁移的应用程序(例如 django.contrib.auth 之类的东西,它有一个固定的模式),然后当你运行 ./manage.py migrate 时,South 会启动并进行迁移。聪明地。

这令人困惑,我仍然不了解“django 应用程序迁移”或“一般迁移”背后的全部内容。如果我知道如何解释这个词,我会明白migration

你明白了,我希望。

对我有耐心,但我真的很想知道。所以也许你们中的一个可以解释一下,拜托。

提前感谢您的时间。