#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 )
現象
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 12 years ago by
Description: | modified (diff) |
---|
comment:2 Changed 12 years ago by
Owner: | changed from nobody to ebihara |
---|---|
Status: | new → assigned |
comment:3 Changed 12 years ago by
comment:4 Changed 12 years ago by
ひとまず opUpdate を継承しないアップデート用スクリプトを用意し、そのスクリプトが ProjectConfiguration?.clas.php を自動的に書き換える方向で対処したいと思います。
Note: See
TracTickets for help on using
tickets.
キャッシュクリア後に最初に読み込まれるアプリケーションが sfCommandApplication となる場合、 sfOpenPNEApplicationConfiguration を経由せずに、ダイレクトに ProjectConfiguration? が読み込まれてしまうことが原因で本現象が発生するようでした。
SVN 管理下に置かれていない ProjectConfiguration?.class.php の書き換えを要求することは多くのデメリットを産むため、OpenPNE3 のスタートアップ直後におこなう処理を追加したいという欲求はあり得ることで、これを回避する為に各アプリケーションのコンフィギュレーションクラスが sfOpenPNEApplicationConfiguration を読み込むように変更し、そのなかでプラグインを有効にすることで対処したつもりでしたが、不充分だったようです。