増子良太のブログです

増子良太が書いているブログです。テーマをしぼらず、思いついたものをただひたすら書いていきます。

MTでアップグレードが終わらない時にはコマンドから実行しよう

   

毎回毎回お久しぶりの記事になってしまいます。。。

さて、今回はある案件でMTのバージョンをアップグレードするという案件があり、そのバージョンアップにものすごく時間がかかったり、どこでタイムアウトしているかわからないような状態になってしまったりと、トラブルのオンパレードに見舞われてしまいました。

もうあんな思いはしたくない!!

というわけである方のアドバイスにより、便利なコマンドツールがあるよ!ということで試してみました。

使い方は簡単!mtがインストールされているディレクトリのtools/upgradeを起動するだけ

オプションは、下記になってます。

  • –name 管理者のユーザIDを指定する
  • –sql アップグレードを実行した時にデータベースに投げられるSQLを表示させる(このオプションを指定するとdryrunも指定したことになるので、アップグレード処理は実行されません)
  • –dryrun アップグレード処理は実行せず、実行した際のログだけ表示する

ここでMTをプラグインなどでカスタマイズしている人は、外部モジュールなどを使っている場合、モジュールにパスが通っておらず、エラーになってしまう場合があります。

upgradeシェルは中身を見てもらうとわかるのですが、perlでできています。(コマンド打つ時もperlって打ってるしね)

なので、実行時にモジュールを指定してあげることで解決できます。

このコマンドを実行して後は待つだけ。

ブラウザとにらめっこしながら、タイムアウトになったらどうしようなんて心配もいらない。

めでたしめでたし。

 - movabletype(mt), Perl