【Movable Type】undefined type:〜エラーが出てプラグインがインストールできないのを直す。

Movable Typeなのですが、プラグインをインストールしようと思ったら、エラーが出て上手くいかない。

  • プラグインを MT の plugins ディレクトリにコピー。
  • Movable Type にログイン。
  • 「エラーが発生しました」。undefined type : longtext と言われて前に進めない。

このエラー、MT本体のアップグレード時などにも稀に生じることがあるようなのだけれど、検索しても明確な解決方法に当たらない。

小一時間ほど唸った結果、「undefined type…とか言われているのだから、データベースが何かおかしいんじゃない?」と考えて、インストール時にエラーが出るMTのデータベースと、こないだ新規に作ったばかりの真っさらのMTデータベースを見比べてみた。

テーブルの構造を端からチェックしていくと、真っさらのほうで種別(データ型)が mediumtext になっているカラムの幾つかが、エラーが発生するデータベースでは longtext になっているのを発見。

原因、これじゃね?

…ということなのだろう、と想像して、longtextなカラムの型をひとつずつmediumtextに修正してから、いざ、ダッシュボードにログイン。あ、作業前には一応バックアップを。

おお、エラー解消。
データベースのアップグレードなどなどが無事に行われて、プラグインが使えるようになりました。

では何故、データの型が変わってしまっていたのだろう…というのは謎。過去にデータベースのインポート / エクスポート作業をしたことがあったので、多分その時にMySQL(または自分)が何かを間違ってしまったのでは、と想像するのだけれど、どうなんだろう。

カテゴリ: