November 06, 2004
MovableTypeをアップグレードしてるんだけど
真夜中の4時くらいに突然、自宅サーバのMovableTypeをアップグレードしようと思い立った。何だか寝ようとしても寝付けない感じだったし。自宅サーバでは未だにVersion 2.65を使っていたのだが、これを日本語版の最新バージョンにしようとした。
MovableTypeの日本語版公式サイトからアップグレード版をダウンロード。解凍して出てきたファイルを古いバージョンのMTのディレクトリにまるごと上書きコピーして、mt-upgrade30.cgi → mt-upgrade31.cgiと実行してやれば良いらしい。楽勝ですね。さっそく言われたとおりにしてみると。
[shin@shalm MT]$ ./mt-upgrade30.cgi Content-Type: text/html<pre>
Upgrading your databases:
Running 'update mt_author set author_type = 1 where author_type <> 2 or author_type is NULL'
Running 'alter table mt_author add author_remote_auth_username varchar(50)'
Running 'alter table mt_author add author_remote_auth_token varchar(50)'
Running 'alter table mt_blog add blog_allow_unreg_comments smallint'
Running 'update mt_blog set blog_allow_unreg_comments = 1'
Running 'alter table mt_blog add blog_allow_reg_comments smallint'
Running 'update mt_blog set blog_allow_reg_comments = 1'
Running 'alter table mt_blog add blog_manual_approve_commenters smallint'
Running 'update mt_blog set blog_manual_approve_commenters = 0'
Running 'alter table mt_blog add blog_old_style_archive_links smallint'
Running 'update mt_blog set blog_old_style_archive_links = 1'
Running 'alter table mt_comment add comment_commenter_id integer'
Running 'alter table mt_comment add comment_visible smallint'
Running 'update mt_comment set comment_visible = 1'
Running 'alter table mt_blog add blog_require_comment_emails smallint'
Running 'alter table mt_blog add blog_moderate_unreg_comments smallint'
Running 'alter table mt_blog add blog_remote_auth_token varchar(50)'
Running 'alter table mt_entry add entry_basename varchar(50)'
Running 'create index mt_entry_basename on mt_entry (entry_basename)'
Running 'create table mt_session (
session_id varchar(80) not null primary key,
session_data text,
session_email varchar(255),
session_name varchar(255),
session_start integer not null,
session_kind varchar(2)
)
'
**** WARNING: NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "mt_session_pkey" for table "mt_session"Running 'create index mt_session_start on mt_session (session_start)'
Creating comment_pending template.Done upgrading your schema! All went well.
</pre>
3.0へのアップグレードは何の問題もなく成功。なのだが、
[shin@shalm MT]$ ./mt-upgrade31.cgi Content-Type: text/html<pre>
Upgrading your databases:
Running 'alter table mt_blog add blog_ping_technorati smallint'
Running 'alter table mt_blog add blog_children_modified_on timestamp'
Running 'alter table mt_blog add blog_custom_dynamic_templates varchar(25)'
Running 'update mt_blog set blog_custom_dynamic_templates = 'none''
Running 'alter table mt_template add template_created_on timestamp'
Running 'alter table mt_template add template_modified_on timestamp'
Running 'alter table mt_template add template_created_by integer'
Running 'alter table mt_template add template_modified_by integer'
Running 'alter table mt_template add template_build_dynamic smallint'
Running 'update mt_template set template_build_dynamic = 0 where template_build_dynamic <> 1 or template_build_dynamic is null'
Running 'alter table mt_template alter column template_build_dynamic set not null'
Running 'alter table mt_category add category_parent integer'
Running 'update mt_category set category_parent = 0'
Running 'alter table mt_category alter column category_parent set not null'
Running 'update mt_entry set entry_basename = '' where entry_basename is null'An error occurred while upgrading the schema:
ERROR: column "entry_basename" does not exist on update mt_entry set entry_basename = '' where entry_basename is null at ./mt-upgrade31.cgi line 286.
</pre>
3.1へのアップグレードで失敗する。もう一回スクリプトを実行させると、
[shin@shalm MT]$ ./mt-upgrade31.cgi Content-Type: text/html<pre>
Upgrading your databases:
Running 'alter table mt_blog add blog_custom_dynamic_templates varchar(25)'An error occurred while upgrading the schema:
ERROR: column "blog_custom_dynamic_templates" of relation "mt_blog" already exists on alter table mt_blog add blog_custom_dynamic_templates varchar(25) at ./mt-upgrade31.cgi line 286.
</pre>
メッセージが変わるもののやはり失敗する。3回目以降は2回目と同じメッセージである。エラーメッセージを適当に切り出してgoogleに入れてみても解決に繋がる情報を取れない。3.0へのアップグレードには成功しているっぽいので、とりあえず3.0として使えればいいやと思う。3.0と3.1の違いもよく分かってないし。
……で、新しくなったMovableTypeにログインして、格好良くなってるインターフェースに感心したりしつつ弄くっていると、記事の追加でエラーが出ることに気付いた。
エラーが発生しました:
Couldn't create FileInfo because Insertion test failed on SQL error ERROR: relation "mt_fileinfo" does not exist
記事をDraftとして追加する分には問題なく、それをビルドしようとするときにエラーになるようだ。調べてみるとmt_fileinfoはHTMLを出力するときに使われるテーブルらしく、これがどうにかなってるらしい。あたま痛い。
さあ、どうしたものか。たぶん続く。
Trackback
You can ping this entry by using http://windy.ac/MT/mt-tb.cgi/613 .
