South について

South は Django アプリケーションにマイグレーション機能を追加します。 Django アプリケーションへの、あのいつもの煩わしいスキーマの変更の手間を抑えるために、 シンプルで安定した、特定のデータベースに依存しないマイグレーション層の提供を主な目的としています。

スキーマ変更タスクのほとんどを自動化させることによって、South はできる限り扱いやすくて直感的なものになっています。 また同時に、巨大で複雑なプロジェクトのためのパワフルなツール集も提供しています; 自分でマイグレーションを簡単に書くこともできますし、データベース変更 API を直接使用することもできます。

South は Django のデータベーススキーマ変更ツール界隈では、ほとんど無名の状態でスタートしましたが、 徐々に評判が広まり、今や最も人気のある Django のマイグレーションツールとして、広く認知されています。

主な機能

South の主な機能は:

  • 自動マイグレーション作成: South は models.py ファイルがどのように変更されたかを監視して、 その変更に沿ったマイグレーションを自動的に作成します。
  • 特定のデータベースへの依存性排除: South は特定のデータベースへの依存を可能な限り排除(database-agnostic)し、 5つの異なるデータベースバックエンドに対応しています。
  • アプリケーションに精通: South は Django アプリケーションの概念を理解しており、それに沿って動作します。 このため、いくつかのアプリにだけマイグレーションを使い、残りのアプリは今まで通り syncdb を使う、ということも可能です。
  • バージョン管理システム対応: 同じアプリケーションのマイグレーションを、誰かがコミットしてコンフリクトが発生した場合でも、 South はきちんとそれを検知することができます。

略歴

South はそれまで必要とされていたワークフローや機能に対する解決策が全くなかった2008年に、 Torchbox において開発されたのち、まもなくオープンソース化され、 DjangoCon 2008 における Schema Evolution パネルトークの後に急速に勢いを増していきました。

2009年ごろには South は Django のマイグレーションツールの中で最も人気のあるものとなり、その人気は現在でも衰えずに高まっています。 South や似たような機能を持つツールを Django に統合してほしい、という要望が高まってきていますが、 主にデータベースのマイグレーションソリューションが比較的未成熟なために、そのような統合は未だに行なわれていない状況です。

Table Of Contents

Previous topic

South ドキュメント

Next topic

マイグレーションとは?

This Page