upgrade コマンドのご紹介 #movabletype
Movable Type Advent Calendar 2015 第12日のエントリーです。
当初は、「Azure Resource Manager + Ansible でいけているインストール」の紹介を予定していたのですが、見事に永谷さんとぶつかってしまったショックから立ち直れず、諸般の事情もあって、ガッキーのメガネっ娘姿を見ながら書いている私をお赦しください。
お題は、upgrade コマンドの使い方のご紹介です。
upgrade は、tools ディレクトリにあるソフトウェアで、以前のバージョンからのアップグレード処理をするものです。AdminScript(mt.cgi)にアクセスした時点で、データベース内のバージョン情報(スキーマ情報ともいいます)が起動している MT のそれと異なると mt-upgrade.cgi に遷移して、アップグレード処理が実行されます。
mt-upgrade.cgi は便利な反面、環境によっては時間がかかってしまい、CGI のタイムアウトの影響を受けてしまうことがあります。
upgrade は、SSH やリモートデスクトップでサーバーに接続できれば実行できるので、私はこちらを使っています。
さて、upgrade コマンドの使い方は、MT がインストールされているディレクトリにした後、以下のように実行します。
/usr/bin/perl ./tools/upgrade
オプションの指定には、以下のパターンがあります。
- 以前のバージョンからアップレードするとき
- データベースに影響を与えずに処理をする
- 処理する SQL を表示する
- 新規のセットアップ
[1]以前のバージョンからアップレードするとき
--quiet --user [システム管理者名]
--user パラメータには、システム管理者のログイン名を入力します。
--quiet パラメータを指定すると、メッセージが何も出力されません。
[2]データベースに影響を与えずに処理をする
--dryrun --user [システム管理者名]
--dryrun パラメータを指定すると、データベースに変更を適用せずに処理を続けます。
[3]処理する SQL を表示する
--sql --user [システム管理者名]
--sql パラメータを指定すると、実行される SQL 文が表示されます。
[4]新規のセットアップ
MT5.2 以降で追加されたモードです。システム管理者と最初のサイトの作成を実行できます。
以下のパラメータを連続して指定してください。
--username [システム管理者名]
--password [パスワード]
--nickname [表示名]
--email [電子メールアドレス]
--use_system_email [指定した電子メールアドレスをシステムのメールアドレスとして利用するか否か 0 or 1]
--preferred_language [使用言語 通常は ja]
--site_name [サイト名]
--site_url [サイト URL]
--site_path [サイトパス]
--site_theme [サイトのテーマ ID ]
--site_timezone [タイムゾーン 通常は 9]
--rebuild [再構築の有無 0|1]
このように、upgrade コマンドをうまく使うと、システム構築を自動化できますね。来年は、永谷さんとぶつからないようにしようっと。