アップグレード

プロジェクトのアップグレードは、どのバージョンからどのバージョンへアッ プグレードしようとしているかに応じて、方法がやや異なります。アップグレー ドは、マイナーリビジョン間で行うことをお勧めします。なぜなら、リビジョ ン間でアップグレードの過程で役に立つ deprecation warnings が加えられる からです

例えば、もし 0.9.4 を動かしているなら、最初に 0.9.5 にアップグレードし て、次に 0.9.6 に、最後に 0.9.7 に任意のタイミングでアップグレードしま す。 0.9.7 への変更は、過去のアップグレードとは異なり 2 ステップで行う ことができます。過去のアップグレードについては、このページの 0.9.7 アッ プグレードの後に書かれているプロセスに従う必要があります。

0.9.6 -> 0.9.7 へのアップグレード

Pylons 0.9.7 は 0.9.6 におけるいくつかの暗黙的な振る舞いを変更します。 それと同時に、 Routes の新しいオプションが切り替えられ、 Mako の自動的 な HTML エスケープが有効になっています。これらの変更は順番に行っていく ことができ、 0.9.6 プロジェクトを 0.9.7 で動かすためにすべてを一度に終 わらせる必要はありません。

0.9.6 プロジェクトを 0.9.7 で動かす最短の方法

以下の行を config/middleware.py に追加してください:

# Add these imports to the top
from beaker.middleware import CacheMiddleware, SessionMiddleware
from routes.middleware import RoutesMiddleware

# Add these below the 'CUSTOM MIDDLEWARE HERE' line, or if you removed
# that, add them immediately after the PylonsApp initialization
app = RoutesMiddleware(app, config['routes.map'])
app = SessionMiddleware(app, config)
app = CacheMiddleware(app, config)

WebHelpers の Rails helpers は webhelpers パッケージに自動的にインポー トされなくなりました。それらを使用するためには、 ‘lib/helpers.py’ でそ れらをインポートするように変えてください:

from webhelpers.rails import *

これで、あなたの Pylons 0.9.6 プロジェクトは Pylons 0.9.7 で問題なく実 行できるはずです。おそらく、他の部分をアップグレードする必要があること を知らせるために、いくつかの deprecation warning が投げられることに注意 してください。

0.9.7 の新機能を使うための変更

自動 HTML エスケープ、新しい webhelpers 、新しいエラーミドルウェアのよ うな、 0.9.7 の新機能のすべてを使用するためには、 What’s new in Pylons 0.9.7 overview に従っ て、新機能を使うためにあなたのプロジェクトで他のファイルをどのように変 更するか判断してください。

0.9.6 以前から 0.9.6 へのアップグレード

Pylons のプロジェクトは paster create コマンドを用いて更新できます。 paster create は、新しいプロジェクトを作成するだけでなく、既存のプロジェ クトに対して実行することで、プロジェクトテンプレートを最新のバージョン に更新する幾つかの方法を提供します。

この機能を適切に用いると、更新作業をとても小さなタスクとして片づけるこ とができます。本文書では説明のため、更新対象のプロジェクトを ‘demoapp’ と呼び、すべてのコマンドにおいてこの名前を利用します。

更新のために paster create を実行する

まずはじめに、プロジェクトのメインディレクトリの 1 つ上の ディレクト リに移動してください。メインディレクトリとは、 setup.pysetup.cfg, development.ini といったファイルを含んでいるディレク トリのことです。

/home/joe/demoapp $ cd ..
/home/joe $

次に、プロジェクトディレクトリに対して paster create を実行して下さい。

/home/joe $ paster create demoapp -t pylons

paster は、既存のプロジェクトファイルに対する衝突と更新をどのように処理 するかを尋ねます。オプションは以下の通りです (操作を実行するには丸括弧 の中のキーを入力してください):

(d) diff を実行し、あなたのプロジェクトのファイルと Pylons で変更の あったファイルの違いを表示します。

(b) ファイルをバックアップし、新しいバージョンを適切な場所にコピー します。古いファイルは .bak という拡張子で保存されます。

(y) 新しいファイルで既存のファイルを上書きします (yes to overwrite) 。この方法は一般に推奨されません。置換されるファイルの中 身を確認することができず、後で内容を回復する機会がまったくなくなっ てしまうためです。最初に diff を見て、上書きによってどんな変更が失 われるかを確かめることで、このオプションの危険性を減らすことができ ます。

(n) 上書きしないで、既存のファイルを維持します (no to overwite) 。 これは、何も変更がない場合に安全です。

プロジェクトをアップグレードする際には、何が変更されたかを知るためにま ず diff で確認することをお勧めします。それから、必要な変更が失わわれる ことがない場合には既存のファイルを上書きし、そうでなければ既存のファイ ルをバックアップして新しいファイルを書き込んでください。そうすることで、 手動で変更点を比較し、あなたの加えた変更点を元に戻すことができます。

Read the Docs v: v1.0.1rc1
Versions
latest
v1.0.1rc1
v0.9.7
Downloads
PDF
HTML
Epub
On Read the Docs
Project Home
Builds

Free document hosting provided by Read the Docs.