django バージョン 1.2 と python 2.4 でプロジェクトを開発しました。ここで、プロジェクトを最新バージョン (Django1.4 および python2.7) に移行します。
私は移行に非常に慣れていません。誰でもこれについてアドバイスできますか。
どのようなことに注意する必要がありますか? すべてのコードをもう一度書き直す必要がありますか?
これが私たちが行っていることです(〜60KlocをDjango 0.97から1.4にアップグレードしています):
__init__.py
ファイルに、コードが動作するDjangoバージョンを示すコメントを追加します(これにより、1日で多くの時間を節約できます:-)これでコードがアップグレードされました(アップグレードの展開を計画する必要がありますが、それは別の質問です)。
ps:DjangoをVCSに保存するので、Django自体に加える必要のある変更を追跡できます(特に1.4に移行したくない場合は必要ですが、そのバージョンから1つか2つの修正が必要になる場合があります)。
最初にローカルで実行してください。間違いなく問題が発生し、それに応じて変更されます。私は推測しますが、コードの多くを変更する必要はありません。Django については、 Django 1.3 のリリース ノートとDjango 1.4のリリース ノートを読み、以前の Django バージョンと比較して非推奨になったものに特に注意してください (1.2 だけでなく、アプリでも Django 1.0/1.1 の機能を使用している可能性があるため)。私の経験では、これらは主に設定の変更と、プロジェクト構造のいくつかの小さな変更です。
Python 2.4 -> Python 2.7 については、あまり言えません。古い機能をどれだけ使用したかによって異なります。アプリケーション全体をテストするとわかります。全然問題ないかも。
virtualenv を使用している場合は、必要なバージョンの django/python で新しい virtualenv を作成し、この virtualenv で作業して、それに対してテストスイートを実行します。
ところで、Django のコンテキストでは「移行」という言葉に注意する必要があるかもしれません。移行とは、通常、データベース内のテーブルに変更を加える場合、South を使用したモデルの移行を指します。
Python は下位互換性をサポートしていません。2.4 から 2.7 に移行する際に問題が発生する可能性があることを考慮してください。