ここの情報は古いです。ご理解頂いた上でお取り扱いください。

Opened 11 years ago

Closed 11 years ago

Last modified 11 years ago

#3613 closed defect (fixed)

opnenpne:update が実行できない

Reported by: kiwa Owned by: ebihara
Priority: minor Milestone: OpenPNE3.0.1
Component: core Version: 3.0.x
Keywords: Cc:

Description (last modified by kiwa)

現象

symfony openpne:update 3.0.0 3.0.1

を実行すると、以下のようなエラー発生し、updateを完了できない。

$ symfony openpne:update OpenPNE 3.0.0 3.0.1
>> execute   opUpdate_3_0_to_3_0_1_dev_200902052050
PHP Fatal error:  Class 'Doctrine_Migration' not found in /hogehoge/lib/update/opUpdate.class.php on line 18
PHP Stack trace:
PHP   1. {main}() /usr/bin/symfony:0
PHP   2. include() /usr/bin/symfony:37
PHP   3. sfSymfonyCommandApplication->run() /usr/share/pear/symfony/command/cli.php:20
PHP   4. sfTask->runFromCLI() /usr/share/pear/symfony/command/sfSymfonyCommandApplication.class.php:72
PHP   5. sfBaseTask->doRun() /usr/share/pear/symfony/task/sfTask.class.php:75
PHP   6. openpneUpdateTask->execute() /usr/share/pear/symfony/task/sfBaseTask.class.php:62
PHP   7. require_once() /hogehoge/lib/task/openpneUpdateTask.class.php:65
PHP   8. sfSimpleAutoload->autoload() /usr/share/pear/symfony/autoload/sfSimpleAutoload.class.php:0
PHP   9. require() /usr/share/pear/symfony/autoload/sfSimpleAutoload.class.php:117

環境

  • 2009/1/29設置 v3.0.0 (trunkで動作)
  • symfony 1.2.2

Change History (6)

comment:1 Changed 11 years ago by kiwa

Description: modified (diff)

comment:2 Changed 11 years ago by ebihara

Owner: changed from nobody to ebihara
Status: newassigned

comment:3 Changed 11 years ago by ebihara

キャッシュクリア後に最初に読み込まれるアプリケーションが sfCommandApplication となる場合、 sfOpenPNEApplicationConfiguration を経由せずに、ダイレクトに ProjectConfiguration? が読み込まれてしまうことが原因で本現象が発生するようでした。

SVN 管理下に置かれていない ProjectConfiguration?.class.php の書き換えを要求することは多くのデメリットを産むため、OpenPNE3 のスタートアップ直後におこなう処理を追加したいという欲求はあり得ることで、これを回避する為に各アプリケーションのコンフィギュレーションクラスが sfOpenPNEApplicationConfiguration を読み込むように変更し、そのなかでプラグインを有効にすることで対処したつもりでしたが、不充分だったようです。

comment:4 Changed 11 years ago by ebihara

ひとまず opUpdate を継承しないアップデート用スクリプトを用意し、そのスクリプトが ProjectConfiguration?.clas.php を自動的に書き換える方向で対処したいと思います。

comment:5 Changed 11 years ago by ebihara

Resolution: fixed
Status: assignedclosed

r10684 で対応しました。

comment:6 Changed 11 years ago by ebihara

r10685 でサンプルについても修正しました。

Note: See TracTickets for help on using tickets.