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

时间:2009-12-22 23:35:13

标签: database django migration django-south

我在过去几天一直在思考migrating a Django app的含义,并听说过用django-south迁移Django应用程序。也许这只是缺乏足够的英语技能(因为英语不是我的母语),或者这是你在程序员生活中遇到的事情之一,这些事情非常简单,需要一个天才来理解它们(起初)。 / p>

我用我的母语阅读了'migrate'的翻译,阅读了维基百科上migration的定义,并阅读了django-south的"the idea“,引用:

  

使用South,您可以安装它   给你的一个或多个应用程序一些   迁移(要么用它们写   手,或从你的自动生成它们   模型定义)。当你syncNC时,   您只会同步没有的应用   迁移(像   例如,django.contrib.auth,   哪个有固定的架构),然后   当你运行./manage.py migrate时,   南踢并且做了   迁移。智能。

这令人困惑,我仍然不理解“迁移django应用程序”或“一般迁移”背后的全部内容。我知道我是否知道如何解释单词migration

我明白你的意思。

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

感谢您的提前时间。

2 个答案:

答案 0 :(得分:9)

谈到South和Django时,迁移是指更改数据库架构。

Django中内置的syncdb命令无法在不删除所有内容的情况下自动更改架构,这就是为什么会出现像South和dmigrations这样的事情。

因此,实质上,迁移是一种在保持数据完整性的同时改变数据库模式的方法。

来自dmigrations page

  

随着dmigrations,你的每一次改变   数据库(包括创建   你的初始表格被捆绑在一起   迁移。迁移是Python   生活在迁移中的文件   目录。他们可以应用和   按顺序未应用(恢复)。

答案 1 :(得分:1)

迁移通常是指将应用程序从一个位置移动到另一个位置。这种翻译可以通过物理运动发生。 (例如从一个服务器移动到另一个服务器),或者作为更合乎逻辑的运动。 (例如从C#到F#)

鉴于只提到了一种技术。它可能主要是一个物理移动应用程序,数据库端稍有逻辑移动。

总结应用程序的功能。它可能只是将您的所有配置和数据导出到文件结构,然后可以将其重新集成到新服务器上的数据库中。