2009-12-22 44 views
3

過去幾天我一直在想migrating a Django app的含義,聽說有關將Django應用程序遷移到django-south的意思。也許這只是缺乏足夠的英語技能(因爲英語不是我的母語),或者這是你在程序員生活中遇到的如此簡單的事情之一,需要天才才能理解他們(起初)。「遷移Django應用程序」是什麼意思?

我讀過「遷移」的翻譯我的母語,讀的migration定義維基百科和閱讀"the idea「Django的南部,理由是:

隨着南,你安裝它,然後 給一個或多個應用程式的一些 遷移(通過 手寫他們,或從 模型定義autogenerating它們)。當你執行syncdb, 你只是沒有 遷移(東西同步應用如 django.contrib.auth,例如e, 其中有一個固定的模式),然後當您運行./manage.py遷移時, ,南開始並執行 遷移。智能。

這是令人困惑的,我仍然不理解「遷移django應用程序」或「遷移一般」背後的全部內容。我會理解如果我知道如何解釋這個詞migration

你明白了,我希望。

對我有耐心,但我真的很想知道。所以也許你們中的一個可以解釋我,請。

感謝您的時間提前。

回答

8

談到South和Django時,遷移指的是更改數據庫模式。

內置於Django中的syncdb命令無法自動爲您更改模式,而無需首先刪除所有內容,這就是爲什麼像South和dmigrations這樣的東西出現的原因。

因此,實質上,遷移是一種在保持數據完整的同時更改數據庫模式的方法。

dmigrations page

隨着dmigrations,每次更改您的 數據庫(包括創建 您最初的表)在 遷移捆綁起來。遷移是位於遷移 目錄中的Python 文件。它們可以被應用,並且 依次未被應用(恢復)。

+0

「因此,實質上,遷移是一種在保持數據完整的同時更改數據庫架構的方法。」這現在絕對有意義。謝謝,TM。 –

1

遷移通常是指將應用程序從一個位置移動到另一個位置。這種翻譯可以通過物理運動來實現。 (比如從一臺服務器轉移到另一臺服務器),或者作爲更合理的運動。 (如從C#到F#)

鑑於僅提及一種技術。它可能主要是一個物理移動應用程序,並且在數據庫方面有輕微的邏輯運動。

總結應用程序的功能。它可能只是將所有配置和數據導出到文件結構中,然後可以將它重新集成到新服務器上的數據庫中。

相關問題